dk211 Geschrieben April 5, 2018 at 06:48 Geschrieben April 5, 2018 at 06:48 Hallo zusammen, ich habe das Code Beispiel von Tinkerforge in Javascript verwendet um meine drei Temperatursensoren über das Outdoor Weather Bricklet auszulesen. Das funktioniert auch wunderbar, in einer Textarea erhalte ich die Werte aller drei Sensoren. Ich möchte nun allerdings jeden Sensor in einer eigenen Textarea ausgeben, um mir mein eigenes Dashboard zu bauen. Mein Ziel ist ein Dashboard, auf dem ich auf einem Blick je Zimmer die Temperatur und Luftfeuchtigkeit sehe. Ich bekomme den Javascript Code allerdings nicht so hin, dass er die Sensor Daten einzeln ausliest. Mit einer if-Schleife habe ich es leider nicht geschafft. In meinem *.html habe ich folgende Funktion mit if-Bedingung ausgestattet: // Register sensor data callback ow.on(Tinkerforge.BrickletOutdoorWeather.CALLBACK_SENSOR_DATA, // Callback function for sensor data callback function (identifier, temperature, humidity) { // Ausgabe Werte in textArea if (identifier = 119) { textArea.value += 'Identifier (Sensor): ' + identifier + '\n'; textArea.value += 'Temperature (Sensor): ' + temperature/10.0 + ' °C\n'; textArea.value += 'Humidity (Sensor): ' + humidity + ' %RH\n'; textArea.value += '\n'; textArea.scrollTop = textArea.scrollHeight; } } ); // Register sensor data callback ow.on(Tinkerforge.BrickletOutdoorWeather.CALLBACK_SENSOR_DATA, // Callback function for sensor data callback function (identifier, temperature, humidity) { // Ausgabe Werte in textArea if (identifier = 141) { // Ausgabe Werte in textArea2 textArea2.value += 'Identifier (Sensor): ' + identifier + '\n'; textArea2.value += 'Temperature (Sensor): ' + temperature/10.0 + ' °C\n'; textArea2.value += 'Humidity (Sensor): ' + humidity + ' %RH\n'; textArea2.value += '\n'; textArea2.scrollTop = textArea.scrollHeight; } } ); Führe ich den Code aus, funktioniert die Funktion für meinen Sensor 141 (siehe Screenshot), allerdings für den Sensor 119 in der oberen Textarea passiert nichts. Hat jemand so etwas schon einmal programmiert oder einen Tipp für mich? Danke und viele Grüße, Daniel Zitieren
borg Geschrieben April 5, 2018 at 07:42 Geschrieben April 5, 2018 at 07:42 Du musst beide Ifs in einen Callback packen. Dein zweiter ".on"-Aufruf überschreibt den ersten. Zitieren
dk211 Geschrieben April 7, 2018 at 05:58 Autor Geschrieben April 7, 2018 at 05:58 Hi borg, klasse - Danke Dir! Wenn ich (inzwischen drei) Sensoren als If in eine Funktion packe liest er die zwar einzeln je Text.Area aus, aber eben bei allen mit den selben Werten. Klingt logisch, da er eine Variable für identifier, etc. hat. Wo habe ich den gerade meinen Denkfehler? // Register sensor data callback ow.on(Tinkerforge.BrickletOutdoorWeather.CALLBACK_SENSOR_DATA, // Callback function for sensor data callback function (identifier, temperature, humidity) { // Ausgabe Werte in textArea if (identifier = 119) { textArea.value += 'Identifier (Sensor): ' + identifier + '\n'; textArea.value += 'Temperature (Sensor): ' + temperature/10.0 + ' °C\n'; textArea.value += 'Humidity (Sensor): ' + humidity + ' %RH\n'; textArea.value += '\n'; textArea.scrollTop = textArea.scrollHeight; } // } //); // Register sensor data callback // ow.on(Tinkerforge.BrickletOutdoorWeather.CALLBACK_SENSOR_DATA, // Callback function for sensor data callback //function (identifier, temperature, humidity) { // Ausgabe Werte in textArea if (identifier = 250) { // Ausgabe Werte in textArea2 textArea2.value += 'Identifier (Sensor): ' + identifier + '\n'; textArea2.value += 'Temperature (Sensor): ' + temperature/10.0 + ' °C\n'; textArea2.value += 'Humidity (Sensor): ' + humidity + ' %RH\n'; textArea2.value += '\n'; textArea2.scrollTop = textArea.scrollHeight; } // Ausgabe Werte in textArea if (identifier = 141) { // Ausgabe Werte in textArea2 textArea3.value += 'Identifier (Sensor): ' + identifier + '\n'; textArea3.value += 'Temperature (Sensor): ' + temperature/10.0 + ' °C\n'; textArea3.value += 'Humidity (Sensor): ' + humidity + ' %RH\n'; textArea3.value += '\n'; textArea3.scrollTop = textArea.scrollHeight; } } ); Danke Euch!! Viele Grüße, Daniel Zitieren
borg Geschrieben April 9, 2018 at 10:20 Geschrieben April 9, 2018 at 10:20 Statt if (identifier = 119) { musst du if (identifier == 119) { verwenden. Zitieren
dk211 Geschrieben April 9, 2018 at 18:48 Autor Geschrieben April 9, 2018 at 18:48 klasse - vielen Dank! Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.