Jump to content

Outdoor Weather Bricklet - Sensor Daten separat auslesen


Recommended Posts

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

screenshot1.thumb.PNG.9c75c76d31e5fd8bde72cc709524ff2d.PNG

Link to comment
Share on other sites

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

screenshot.thumb.PNG.dd131134daa2124f21a9eef4a718a1e1.PNG

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...