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:
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:
die dazugehörige "demo.rules" sieht so aus (ja der 101er sensor geht ohne Probleme):
der Wert "bueroPress01" ist auch als item definiert.
Wo könnte hier noch der Fehler liegen?
vielen Dank im Voraus
Gruß
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
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); }
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;"
Wo könnte hier noch der Fehler liegen?
vielen Dank im Voraus
Gruß