NEWS
in WebUI mit Javascript auf ein ioBrokerereignis reagieren
-
Hallo,
ich komme ohne Hilfe nicht weiter.
Wie komme ich in einem Javascript in WebUI an die ioBroker-Daten?
Ziel ist es bei Änderung eines Datenpunktes eine Funktion zu starten und die geänderten Daten zu verarbeiten.
Ich habe es mit dem Objekt IOB versucht bin aber gescheitert.IOB.subscribeState("modbus.0.holdingRegisters._Leistung", panelfarbe); let instance; export function init(_instance) { instance = _instance; } function panelfarbe(obj){ console.log(obj); var r = 255; var g = 0; let netz = 0; if(netz < 100) if(netz > -401) g = Math.round((netz - 99) * -1 / 1.953125); else if(netz > -2001){ g = 255; r = Math.round((2000 + netz) / 6.270588235); }else{ g = 255; r = 0; } instance._getDomElement("aktuelleWerte").style.backgroundColor = "rgb(" + r + ", " + g + ", 0)"; }
Das ist die Ausgabe von console.log.
Für ein Beispiel wäre ich dankbar.
-
Ich bin nun doch noch zu einem Ergebnis gekommen.
IOB.subscribeState("modbus.0.holdingRegisters._Leistung", panelfarbe); export function panelfarbe(id, obj) { // id ist "modbus.0.holdingRegisters._Leistung" // obj ist ein Objekt wie im ioBroker und // obj.val ist der Inhalt des Datenpunktes }Der Fehler war das ich nur einen Parameter in der Funktion hatte so wie im ioBroker üblich.
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