Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

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