Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. in WebUI mit Javascript auf ein ioBrokerereignis reagieren

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    876

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

in WebUI mit Javascript auf ein ioBrokerereignis reagieren

Geplant Angeheftet Gesperrt Verschoben Visualisierung
2 Beiträge 1 Kommentatoren 102 Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M Offline
    M Offline
    Martin 5
    schrieb am zuletzt editiert von Martin 5
    #1

    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)";
    }
    
    

    19a09102-94f1-4b54-b239-94786c396088-grafik.png

    Das ist die Ausgabe von console.log.

    Für ein Beispiel wäre ich dankbar.

    1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      Martin 5
      schrieb am zuletzt editiert von
      #2

      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.

      1 Antwort Letzte Antwort
      0
      Antworten
      • In einem neuen Thema antworten
      Anmelden zum Antworten
      • Älteste zuerst
      • Neuste zuerst
      • Meiste Stimmen


      Support us

      ioBroker
      Community Adapters
      Donate

      737

      Online

      32.6k

      Benutzer

      82.1k

      Themen

      1.3m

      Beiträge
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
      ioBroker Community 2014-2025
      logo
      • Anmelden

      • Du hast noch kein Konto? Registrieren

      • Anmelden oder registrieren, um zu suchen
      • Erster Beitrag
        Letzter Beitrag
      0
      • Home
      • Aktuell
      • Tags
      • Ungelesen 0
      • Kategorien
      • Unreplied
      • Beliebt
      • GitHub
      • Docu
      • Hilfe