Ankündigung

Einklappen
Keine Ankündigung bisher.

mysensors pressure sensor Luftdruck wird nicht übernommen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    mysensors pressure sensor Luftdruck wird nicht übernommen

    Hallo zusammen,

    ich habe folgendes Problem:
    Ich versuche einen Luftdrucksensor auf Basis BMP085 wie im mysensors tutorial Beschrieben in Openhab einzubinden. Ich sehe in der console folgendes:
    Code:
    Sketch name: Pressure Sensor
    Sketch version: 1.0
    2015-04-26 20:15:23.435 [WARN ] [.model.script.actions.BusEvent] - Item 'null' does not exist.
    2015-04-26 20:15:23.544 [INFO ] [runtime.busevents             ] - bueroTemp01 state updated to 19.9
    Temp item: bueroTemp01 temp: 19.9
    2015-04-26 20:15:27.348 [INFO ] [runtime.busevents             ] - Arduino state updated to 0;0;3;0;9;read: 102-102-0 s=2,c=1,t=4,pt=7,l=5:1006
    102;2;1;0;4;1006
    der sketch sieht wie folgt aus, dieser zeigt das gleiche verhalten wie der original sketch von hier http://www.mysensors.org/build/pressure nur habe ich vieles entfernt um eine bessere Übersicht zu bekommen:
    Code:
    #include <SPI.h>
    #include <MySensor.h>  
    #include <Wire.h>
    #include <Adafruit_BMP085.h>
    
    #define node_id 102
    #define BARO_CHILD 2
    #define TEMP_CHILD 1
    
    unsigned long SLEEP_TIME = 60000; // Sleep time between reads (in seconds)
    
    Adafruit_BMP085 bmp = Adafruit_BMP085();      // Digital Pressure Sensor 
    MySensor gw;
    
    float lastPressure = -1;
    float lastTemp = -1;
    int minutes;
    float pressureSamples[7][6];
    int minuteCount = 0;
    bool firstRound = true;
    float pressureAvg[7];
    float dP_dt;
    boolean metric; 
    MyMessage tempMsg(TEMP_CHILD, V_TEMP);
    MyMessage pressureMsg(BARO_CHILD, V_PRESSURE);
    
    void setup() {
      //gw.begin();
      gw.begin(NULL, node_id);
      // Send the sketch version information to the gateway and Controller
      gw.sendSketchInfo("Pressure Sensor", "1.0");
    
      if (!bmp.begin()) {
        Serial.println("Could not find a valid BMP085 sensor, check wiring!");
        while (1) { }
      }
    
      // Register sensors to gw (they will be created as child devices)
      gw.present(BARO_CHILD, S_BARO);
      gw.present(TEMP_CHILD, S_TEMP);
      //metric =  gw.getConfig().isMetric;
    }
    
    void loop() {
      float pressure = bmp.readSealevelPressure(519)/100; // 519 meters above sealevel
      float temperature = bmp.readTemperature();
      
      //if (!metric) {
        // Convert to fahrenheit
        //temperature = temperature * 9.0 / 5.0 + 32.0;
      //}
    
      if (temperature != lastTemp) {
        gw.send(tempMsg.set(temperature,1));
        lastTemp = temperature;
        delay (2000);
      }
    
      if (pressure != lastPressure) {
        gw.send(pressureMsg.set(pressure,0));
        lastPressure = pressure;
      }
    
    
      gw.sleep(SLEEP_TIME);
    }
    die dazugehörige "demo.rules" sieht so aus (ja der 101er sensor geht ohne Probleme):
    Code:
        "101;0;"            -> "livingHum01",
        "livingHum01"       -> "101;0;",
        "101;1;"            -> "livingTemp01",
        "livingTemp01"      -> "101;1;",
        "102;2;"            -> "bueroPress01",
        "bueroPress01"      -> "102;2;",
        "102;1;"            -> "bueroTemp01",
        "bueroTemp01"       -> "102;1;"
    der Wert "bueroPress01" ist auch als item definiert.

    Wo könnte hier noch der Fehler liegen?

    vielen Dank im Voraus
    Gruß
Lädt...
X