NEWS
Blockly rookie - PI Temperatur auslesen und im IOBroker Objekten als Temp anzeigen
-
Hallo an Alle,
Ich bin gerade am Anfang mit blockly und habe eher wenig Erfahrungen im Programmieren und habe mir deshalb ein einfaches Beispiel ausgesucht.
Also ich möchte einfach nur die PiTemperatur auslesen und als Variable Temp angezeigt bekommen.
Folgendes Blockly habe ich erstellt und bekomme aber keine Ausgabe, wenn mir jemand Zeigen könnte wie das funktioniert wäre ich sehr dankbar.
…. aller Anfang ist schwer, deshalb danke für eure Hilfe....

Im IOBroker - Objekte - Javascript habe ich folgendes Anzeige, Temp habe ich selber erstellt und die ist aber immer auf 0°C

Danke für eure Hilfe,
Stefan
-
1. Das Skript nicht unter der Gruppe global erstellen :!:
2. Eigene Datenpunkt nicht unter javascript.0.scriptEnabled, sondern direkt unter javascript.0 erstellen :!:
3. Mit setze Temp auf … wird nur eine Skriptvariable gesetzt. Um den Wert in den eigenen Datenpunkt zu schreiben, verwende aktualisiere.
-
-
Hi Paul53,
Ich habe die Variable im Blocky von Temp auf Temperature geändert da es mich etwas verwirrt hat.

Habe ich das richtig verstanden, wenn sich der Wert für rpi2.0.temperature.soc_temp ändert dann setzte die Variable Temperatur auf den Wert von rpi2.0.temperature.soc_temp danach aktualisiere javascript.0.Temp mit dem Wert von rpi2.0.temperature.soc_temp
Leider funktioniert das noch immer nicht der Wert javascript0.Temp zeigt noch immer 0 an.

Ich habe mal den Code kopiert den blockly anzeigt.
var Temperatur; on({id: getState("rpi2.0.temperature.soc_temp").val, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; Temperatur = getState("rpi2.0.temperature.soc_temp").val; setState("javascript.0.Temp"/*Temp*/, Temperatur, true); });Danke und mfg, Stefan
-
Hatte ich übersehen: Der Trigger darf nicht Wert von Objekt sein, sondern das Objekt selbst.
Falls Objekt Objekt ID rpi2.0.temperature.soc_temp
Es geht auch ohne Zwischenvariable:

Oder mit dem Wert des Trigger-Datenpunktes:

Oder mit der vordefiniereten Skriptvariablen value:

-
Hi Paul53,
Danke für deine tolle Hilfe jetzt funktioniert es, ich werde mich jetzt damit weiter beschäftigen und sicher auch das eine oder andere mal wieder ein paar fragen ans Forum haben und auch die Suchfunktion verwenden :-)
Zur Dokumentation und vielleicht auch als Hilfe für andere, anbei die Screenshots



var Temperatur; on({id: 'rpi2.0.temperature.soc_temp', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; Temperatur = getState("rpi2.0.temperature.soc_temp").val; setState("javascript.0.Temp"/*Temp*/, Temperatur, true); });mfg
Stefan
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden



