Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Übersicht der verfügbaren JS-Funktionen

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    227

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

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

Übersicht der verfügbaren JS-Funktionen

Übersicht der verfügbaren JS-Funktionen

Scheduled Pinned Locked Moved Skripten / Logik
8 Posts 3 Posters 1.7k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F Offline
    F Offline
    Fitti
    wrote on last edited by
    #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 Reply Last reply
    0
    • P Offline
      P Offline
      pix
      wrote on last edited by
      #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 Reply Last reply
      0
      • F Offline
        F Offline
        Fitti
        wrote on last edited by
        #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 Reply Last reply
        0
        • paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #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 Reply Last reply
          0
          • paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by
            #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 Reply Last reply
            0
            • F Offline
              F Offline
              Fitti
              wrote on last edited by
              #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 Reply Last reply
              0
              • P Offline
                P Offline
                pix
                wrote on last edited by
                #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 Reply Last reply
                0
                • F Offline
                  F Offline
                  Fitti
                  wrote on last edited by
                  #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 Reply Last reply
                  0
                  Reply
                  • Reply as topic
                  Log in to reply
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  54

                  Online

                  32.4k

                  Users

                  81.3k

                  Topics

                  1.3m

                  Posts
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                  ioBroker Community 2014-2025
                  logo
                  • Login

                  • Don't have an account? Register

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Recent
                  • Tags
                  • Unread 0
                  • Categories
                  • Unreplied
                  • Popular
                  • GitHub
                  • Docu
                  • Hilfe