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. Skripten / Logik
  4. JavaScript
  5. Wert von DP in Javascript auslesen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    658

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

Wert von DP in Javascript auslesen

Geplant Angeheftet Gesperrt Verschoben JavaScript
3 Beiträge 2 Kommentatoren 64 Aufrufe 2 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.
  • R Offline
    R Offline
    Rolli2
    schrieb am zuletzt editiert von
    #1

    Ich möchte in Javascript Werte von ioBroker Datenpunkten auslesen.
    Wenn ich mir die Javascript-Version eines entsprechenden Blockly-Skripts ansehe sieht das so aus:
    373f54ff-a8eb-4320-9246-124d8dcb6cfa-grafik.png
    33f837ba-e917-4cb9-82f4-3a6d64f581ad-grafik.png
    Wenn ich das dann in eine Javascript Klasse packe,
    e54cb879-579c-4bb9-b99d-352646da01ff-grafik.png
    und über ein Blockly-Javascript aufrufe,
    acf92098-bda9-4f2c-98f3-13ccf6013d61-grafik.png
    kennt er die Funktion "getState()" nicht.
    Was muss ich tun, damit ich auch in der Klasse den Wert auslesen kann?

    1 Antwort Letzte Antwort
    0
    • ofri2607O Offline
      ofri2607O Offline
      ofri2607
      schrieb am zuletzt editiert von ofri2607
      #2

      Du musst der Klasse den ioBroker „mitgeben“

      Als Beispiel:

      class Test{
          #iob;
      
          constructor(iob) {
          	this.#iob = iob || null;
           }
      
           //Aufruf eines Datenpunktes mit:
           this.#iob.getState(„Dein Datenpunkt“).val
      }
      module.exports = { Test };
      

      Hier habe ich mit „iob“ im constructor der Klasse die ioBrokerfunktionen „mitgegeben“. So kannst du dann jede ioBroker-Funktion auch in der Klasse nutzen.

      In deinem Skript musst du dann nur wie folgt aufrufen:

      const { Test } = require(pathToModule);
      const test = new Test(this);
      

      Mit dem „this“ gibst du, vereinfacht gesprochen, die Befehle mit.

      Edit: typo

      R 1 Antwort Letzte Antwort
      0
      • ofri2607O ofri2607

        Du musst der Klasse den ioBroker „mitgeben“

        Als Beispiel:

        class Test{
            #iob;
        
            constructor(iob) {
            	this.#iob = iob || null;
             }
        
             //Aufruf eines Datenpunktes mit:
             this.#iob.getState(„Dein Datenpunkt“).val
        }
        module.exports = { Test };
        

        Hier habe ich mit „iob“ im constructor der Klasse die ioBrokerfunktionen „mitgegeben“. So kannst du dann jede ioBroker-Funktion auch in der Klasse nutzen.

        In deinem Skript musst du dann nur wie folgt aufrufen:

        const { Test } = require(pathToModule);
        const test = new Test(this);
        

        Mit dem „this“ gibst du, vereinfacht gesprochen, die Befehle mit.

        Edit: typo

        R Offline
        R Offline
        Rolli2
        schrieb am zuletzt editiert von
        #3

        @ofri2607 Vielen Dank. Das hat mir weiter geholfen.
        Ich musste die Klasse aber etwas umbauen. Das Eingekreiste funktioniert so nicht.
        e7095d4c-1f3d-4b94-baf7-f9944748789e-grafik.png
        Die Klasse läßt sich dann gar nicht kompilieren und wird im aufrufenden Skript nicht gefunden.
        Ich hab's in eine Funktion verpackt.
        165560e7-ea8c-446e-a2bd-3914ab2223f7-grafik.png
        und rufe die dann auf
        04f641e7-bbfd-43d5-95ab-7824634d2c3f-grafik.png
        Dann funktioniert es.
        Nochmals Danke @ofri2607 und guten Rutsch.

        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

        899

        Online

        32.6k

        Benutzer

        81.9k

        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