Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Übersicht der verfügbaren JS-Funktionen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Übersicht der verfügbaren JS-Funktionen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
8 Beiträge 3 Kommentatoren 1.8k Aufrufe
  • Ä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.
  • F Offline
    F Offline
    Fitti
    schrieb am zuletzt editiert von
    #1

    Hallo ihr,

    ich versuche mich ja weiterhin in JS für ioBroker einzuarbeiten. Das eigentliche JS geht ja, schwieriger ist es im Moment für mich die Nutzweise in ioBroker zu verstehen.

    Ich möchte ein kleines Bild einblenden, wenn mindestens einer von 8 Fensterkontakten den State >0 hat.

    Dazu wollte ich eine eigene Bool-Var verwenden, um dann diese in .vis mittels "Sichtbarkeit" in einen Static Widget zu nutzen.

    8 Sensoren (einer im State>0) -> Setze Var auf true <- Wenn Var True, zeige widget an.

    Ich muss ja vermutlich mittels "on/subscribe" die Status der Sensoren abfragen.

    Ich habe es mit der Doku versucht, stoße aber sehr früh an generelle Probleme.

    Beispiel:

    Wenn ich funktionierenden Code…

    ...
    on({
        id:'javascript.0.VIS.Kamera_Garten_Steuerung',
        change: 'any'
    }, function (data) {
        var steuerbefehl_garten = Kamera_Garten_Steuerung_url + data.newState.val;
    ...
    

    umschreiben möchte, frage ich mich,

    1.) woher die Funktion function (data) kommt? In der Doku gibt es auch noch z. B. function (obj), usw. Wie kann ich verstehen, wann ich welche nutzen muss und wie diese funktionieren?

    2.) Wie eine ODER -Abfrage zu den 8 Sensoren aussieht? In der Doku wird schön die RegEx Möglichkeit gezeigt, leider kann ich diese nicht logisch nutzen, da diese 8 Sensoren bedingt durch ihre Namen keine eindeutige Filterung zulassen (es gibt noch etliche andere). Muss ich also ein "on" für jeden Adapter nutzen?

    Danke für Eure Unterstützung.

    Fitti

    "Es wird die Zeit kommen, da ihr euch entscheiden müsst zwischen dem, was richtig ist, und dem, was bequem ist."
    Plural von Status ist auch Status!

    1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      pix
      schrieb am zuletzt editiert von
      #2

      Hallo Fitti,

      @Fitti:

      8 Sensoren (einer im State>0) -> Setze Var auf true <- Wenn Var True, zeige widget an. `
      Das gab's hier schon mal:

      http://forum.iobroker.org/viewtopic.php?f=21&t=535

      Die gesetzte Variable kann dann leicht in VIS weiterverwendet werden.

      Gruß

      Pix

      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

      1 Antwort Letzte Antwort
      0
      • F Offline
        F Offline
        Fitti
        schrieb am zuletzt editiert von
        #3

        Hi pix,

        wieder vielen Dank. Es passt nicht 100%, da ich vier Räume habe, die ich abfrage. Aber das schreibe ich mir zurecht. Werde in jenem Thread noch nach einer eleganten Art nachfragen.

        Aber die ersten Tests laufen mit einem Raum sehr gut.

        Kann mir jemand bei der 1. Frage noch helfen?

        Danke wie immer an alle,

        Fitti

        "Es wird die Zeit kommen, da ihr euch entscheiden müsst zwischen dem, was richtig ist, und dem, was bequem ist."
        Plural von Status ist auch Status!

        1 Antwort Letzte Antwort
        0
        • paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @Fitti:

          woher die Funktion function (data) kommt? In der Doku gibt es auch noch z. B. function (obj), usw. Wie kann ich verstehen, wann ich welche nutzen muss und wie diese funktionieren? `

          on(pattern, function(dp) {
          ...
          });
          

          deklariert eine Funktion, wobei im Beispiel dp der selbst gewählte lokale Name des an die Funktion übergebenen Objekts ist, so wie es in der javascript-Adapter-Doku beschrieben ist. Innerhalb der Funktion kann über den lokalen Namen auf die übergebenen Elemente zugriffen werden, z.B.

          var x = dp.newState.val; // neuer Wert
          var n = dp.common.name; // Objekt-Name
          

          Soll kein Objekt-Zugriff innerhalb der deklarierten Funktion erfolgen, kann der lokale Name auch entfallen:

          on(pattern, function() {
          ...
          });
          

          Im http://forum.iobroker.org/viewtopic.php?f=21&t=1208#p9958 wird anstelle von

          var x = dp.newState.val;
          

          die Funktion

          var x = getState(id).val;
          

          verwendet.
          1632_wemo-fix.png

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          0
          • paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #5

            @Fitti:

            In der Doku wird schön die RegEx Möglichkeit gezeigt, leider kann ich diese nicht logisch nutzen, da diese 8 Sensoren bedingt durch ihre Namen keine eindeutige Filterung zulassen (es gibt noch etliche andere). `
            Das mag für die ID zutreffen. Da die Objektnamen selbst vergeben werden können, lässt sich ein eindeutiger Bestandteil (z.B. am Ende) der Namen für die 8 Sensoren sicherlich finden.

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            1 Antwort Letzte Antwort
            0
            • F Offline
              F Offline
              Fitti
              schrieb am zuletzt editiert von
              #6

              @paul53:

              …deklariert eine Funktion, ... `
              Ohh man. Schon blöd eine Deklaration mit einem Call zu verwechseln. Vielen Dank - jetzt ist es etwas klarer. Da diese in den Beispielen immer den gleichen Namen hatten, dachte ich, es wird eine Funktion aufgerufen.

              @paul53:

              Das mag für die ID zutreffen. Da die Objektnamen selbst vergeben werden können, lässt sich ein eindeutiger Bestandteil (z.B. am Ende) der Namen für die 8 Sensoren sicherlich finden. `
              Leider nein. Ich habe den Sensoren logisch im Namen aufgebaut: typ_raum_name_eigenschaft. Das hat bisher auch gut für CCU Skripte gereicht.

              Da diese Sensoren auch in CCU-Skripten benutzt werden, möchte ich diese Namen nicht ändern.

              Im Moment konzentriere ich mich primär bei ioBroker um die Anzeige-Möglichkeiten.

              Da ich hier nicht an zwei Stellen die Gleiche Frage stellen möchte, verweise ich jetzt auf den anderen Thread, den Pix 4x weiter oben verlinkt hat. Da habe ich es genauer aufgeführt. Ich wäre Die natürlich sehr dankbar, wenn Du mir noch diesen "Filter" oder was auch immer erklären könntest.

              Viele Grüße,

              Fitti

              "Es wird die Zeit kommen, da ihr euch entscheiden müsst zwischen dem, was richtig ist, und dem, was bequem ist."
              Plural von Status ist auch Status!

              1 Antwort Letzte Antwort
              0
              • P Offline
                P Offline
                pix
                schrieb am zuletzt editiert von
                #7

                @Fitti:

                Viele Grüße,

                Pix `
                Das ist mein Gruß! :lol:
                859_adapter.jpg
                859_host.jpg

                ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                1 Antwort Letzte Antwort
                0
                • F Offline
                  F Offline
                  Fitti
                  schrieb am zuletzt editiert von
                  #8

                  @pix:

                  @Fitti:

                  Viele Grüße,

                  Pix Das ist mein Gruß! :lol:
                  Jetzt ist es ganz zu spät…. ich ändere das mal. :lol: :oops:

                  "Es wird die Zeit kommen, da ihr euch entscheiden müsst zwischen dem, was richtig ist, und dem, was bequem ist."
                  Plural von Status ist auch Status!

                  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

                  367

                  Online

                  32.4k

                  Benutzer

                  81.4k

                  Themen

                  1.3m

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

                  • Du hast noch kein Konto? Registrieren

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