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. (gelöst) Trigger auf Gewerk funktioniert nicht

NEWS

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

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

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

(gelöst) Trigger auf Gewerk funktioniert nicht

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
9 Beiträge 3 Kommentatoren 549 Aufrufe 3 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.
  • F Offline
    F Offline
    fireboyff
    schrieb am zuletzt editiert von fireboyff
    #1

    Hallo

    Ich habe nun Stunden damit Verbracht mein Problem zu lösen, leider schaffe ich es nicht.
    Ich hab mir ein "Gewerk" unter enum.functions angelegt namens "licht_status". Diesem habe ich einige Switch Stats hinzugefügt.
    Jetzt möchte ich gerne in einen Script mit einen Trigger auf dieses Gewerk reagieren falls sich der State ändert. Ich habe alles mögliche probiert entweder es kommen Fehler oder gar nichts.

    Mein Letzter Versuch war nach einen Forumsbeitrag aus 2016, leider passiert hier nichts, kein Fehler kein Log eintrag nichts.

    $('channel(functions=licht_status)').on(function (obj) {
        setState("0_userdata.0.Testraum.javaTestausgabe", "geht", true);
        log("Ist gelaufen");
    });
    

    Ich habe auch folgendes Probiert, da hierzu in der Offiziellen Doku was Stand, hier bekomme ich jedoch einen Fehler im Log

    on({enumName: "Licht_Status", change: "ne"}, function (obj) {
        setState("0_userdata.0.Testraum.javaTestausgabe", "geht", true);
    });
    

    Fehler: Caught by controller[9: enumNames is of type object but should be an array: {}]

    Kann mir bitte irgendjemand sagen was ich Falsch mache, ich verzweifle leider daran.

    Danke für eure Hilfe.

    T 1 Antwort Letzte Antwort
    0
    • F fireboyff

      Hallo

      Ich habe nun Stunden damit Verbracht mein Problem zu lösen, leider schaffe ich es nicht.
      Ich hab mir ein "Gewerk" unter enum.functions angelegt namens "licht_status". Diesem habe ich einige Switch Stats hinzugefügt.
      Jetzt möchte ich gerne in einen Script mit einen Trigger auf dieses Gewerk reagieren falls sich der State ändert. Ich habe alles mögliche probiert entweder es kommen Fehler oder gar nichts.

      Mein Letzter Versuch war nach einen Forumsbeitrag aus 2016, leider passiert hier nichts, kein Fehler kein Log eintrag nichts.

      $('channel(functions=licht_status)').on(function (obj) {
          setState("0_userdata.0.Testraum.javaTestausgabe", "geht", true);
          log("Ist gelaufen");
      });
      

      Ich habe auch folgendes Probiert, da hierzu in der Offiziellen Doku was Stand, hier bekomme ich jedoch einen Fehler im Log

      on({enumName: "Licht_Status", change: "ne"}, function (obj) {
          setState("0_userdata.0.Testraum.javaTestausgabe", "geht", true);
      });
      

      Fehler: Caught by controller[9: enumNames is of type object but should be an array: {}]

      Kann mir bitte irgendjemand sagen was ich Falsch mache, ich verzweifle leider daran.

      Danke für eure Hilfe.

      T Nicht stören
      T Nicht stören
      ticaki
      schrieb am zuletzt editiert von ticaki
      #2

      @fireboyff sagte in Trigger auf Gewerk funktioniert nicht:

      $('channel[functions=licht_status]').on(function (obj) {
          setState("0_userdata.0.Testraum.javaTestausgabe", "geht", true);
          log("Ist gelaufen");
      });
      

      Versuche das mal, bin aktuell nicht am coden, aber in meinen Skripten verwende ich [] und nicht (). Desweiteren suchst du nach channel oder nach state?

      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

      Spenden

      F 1 Antwort Letzte Antwort
      0
      • T ticaki

        @fireboyff sagte in Trigger auf Gewerk funktioniert nicht:

        $('channel[functions=licht_status]').on(function (obj) {
            setState("0_userdata.0.Testraum.javaTestausgabe", "geht", true);
            log("Ist gelaufen");
        });
        

        Versuche das mal, bin aktuell nicht am coden, aber in meinen Skripten verwende ich [] und nicht (). Desweiteren suchst du nach channel oder nach state?

        F Offline
        F Offline
        fireboyff
        schrieb am zuletzt editiert von
        #3

        @ticaki @ticaki

        muss ich nacher probieren,

        Was ich gerne hätte ist das mein Script getriggert wird wenn sich einer der Stats ändert der bei Functions "licht_status" hinterlegt hat.
        7eeeb2b3-f7da-4585-bed3-71eb54596a03-image.png
        Hier zb. Ein ShellyPlugS, wenn dieser den State von false auf True ändert möchte ich getriggert werden da Funktion "licht_status" gesetzt hat.

        Ich habs geschaft auf einen State bzw mehrere zu reagieren mit

        var Rolllaeden = ["hm-rpc.0.WWWW.1.WORKING"/*Terrassentür links.WORKING*/,
                            "hm-rpc.0.XXXX.1.WORKING"/*Terrassentür rechts.WORKING*/, 
                            "hm-rpc.0.YYYY.1.WORKING"/*Festverglasung links.WORKING*/, 
                            "hm-rpc.0.ZZZZ.1.WORKING"/*Festverglasung rechts.WORKING*/];
                            
        on(Rolllaeden, function(dp) {
        

        Jedoch möchte ich nicht jede State ID einzeln per Hand angeben. Ich dachte mir mit Funktion wäre das die Lösung, dann müsste ich bei einer änderung nur den Wert Setzen bei Funktion und der State ist Automatisch dabei in der Überwachung oder wurde entfernt.

        Evt. konnte ich jetzt mein ziel/wunsch besser darstellen.

        T 1 Antwort Letzte Antwort
        0
        • F fireboyff

          @ticaki @ticaki

          muss ich nacher probieren,

          Was ich gerne hätte ist das mein Script getriggert wird wenn sich einer der Stats ändert der bei Functions "licht_status" hinterlegt hat.
          7eeeb2b3-f7da-4585-bed3-71eb54596a03-image.png
          Hier zb. Ein ShellyPlugS, wenn dieser den State von false auf True ändert möchte ich getriggert werden da Funktion "licht_status" gesetzt hat.

          Ich habs geschaft auf einen State bzw mehrere zu reagieren mit

          var Rolllaeden = ["hm-rpc.0.WWWW.1.WORKING"/*Terrassentür links.WORKING*/,
                              "hm-rpc.0.XXXX.1.WORKING"/*Terrassentür rechts.WORKING*/, 
                              "hm-rpc.0.YYYY.1.WORKING"/*Festverglasung links.WORKING*/, 
                              "hm-rpc.0.ZZZZ.1.WORKING"/*Festverglasung rechts.WORKING*/];
                              
          on(Rolllaeden, function(dp) {
          

          Jedoch möchte ich nicht jede State ID einzeln per Hand angeben. Ich dachte mir mit Funktion wäre das die Lösung, dann müsste ich bei einer änderung nur den Wert Setzen bei Funktion und der State ist Automatisch dabei in der Überwachung oder wurde entfernt.

          Evt. konnte ich jetzt mein ziel/wunsch besser darstellen.

          T Nicht stören
          T Nicht stören
          ticaki
          schrieb am zuletzt editiert von ticaki
          #4

          @fireboyff
          In dem Fall suchst du nach

          $('state[functions=licht_status]').on(function (obj) {
          

          Ich hab das aber noch nicht ganz verinnerlicht. Ist eine Kopie aus meinen Skripten. :)

          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

          Spenden

          F 1 Antwort Letzte Antwort
          0
          • T ticaki

            @fireboyff
            In dem Fall suchst du nach

            $('state[functions=licht_status]').on(function (obj) {
            

            Ich hab das aber noch nicht ganz verinnerlicht. Ist eine Kopie aus meinen Skripten. :)

            F Offline
            F Offline
            fireboyff
            schrieb am zuletzt editiert von
            #5

            @ticaki said in Trigger auf Gewerk funktioniert nicht:

            $('state[functions=licht_status]').on(function (obj) {

            danke für deine Info. habs gleich getestet. Ein Skript wo nur das drinnen steht, das Skript sogar neu angelegt, keine reaktion :(

            $('state[functions=licht_status]').on(function (obj) {
                setState("0_userdata.0.Testraum.javaTestausgabe", "geht", true);
                log("Ist gelaufen");
            });
            
            paul53P 1 Antwort Letzte Antwort
            0
            • F fireboyff

              @ticaki said in Trigger auf Gewerk funktioniert nicht:

              $('state[functions=licht_status]').on(function (obj) {

              danke für deine Info. habs gleich getestet. Ein Skript wo nur das drinnen steht, das Skript sogar neu angelegt, keine reaktion :(

              $('state[functions=licht_status]').on(function (obj) {
                  setState("0_userdata.0.Testraum.javaTestausgabe", "geht", true);
                  log("Ist gelaufen");
              });
              
              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #6

              @fireboyff
              Wenn "licht_status" die korrekte enum-ID ist, versuche mal:

              $('*(functions=licht_status)').on(function (obj) {
              

              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

              F 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @fireboyff
                Wenn "licht_status" die korrekte enum-ID ist, versuche mal:

                $('*(functions=licht_status)').on(function (obj) {
                
                F Offline
                F Offline
                fireboyff
                schrieb am zuletzt editiert von
                #7

                @paul53

                Danke Paul!!! Das wars jetzt funktioniert es.
                nur das ich auch verstehe was ich da jetzt mache :)

                mit Stern nehme ich alles, und dann sag i erm nur die mit meiner function?
                Wenn ich den stern ersetzen würde auf was würde er sich da beziehen?

                Danke lg Fire

                paul53P 1 Antwort Letzte Antwort
                0
                • F fireboyff

                  @paul53

                  Danke Paul!!! Das wars jetzt funktioniert es.
                  nur das ich auch verstehe was ich da jetzt mache :)

                  mit Stern nehme ich alles, und dann sag i erm nur die mit meiner function?
                  Wenn ich den stern ersetzen würde auf was würde er sich da beziehen?

                  Danke lg Fire

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #8

                  @fireboyff sagte: Wenn ich den stern ersetzen würde auf was würde er sich da beziehen?

                  Der Stern steht für "alle Datenpunkt-IDs". Man kann es eingrenzen, z.B.

                  $('hm-rpc.*.1.WORKING(functions=licht_status)').on(function (obj) {
                  

                  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

                  F 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @fireboyff sagte: Wenn ich den stern ersetzen würde auf was würde er sich da beziehen?

                    Der Stern steht für "alle Datenpunkt-IDs". Man kann es eingrenzen, z.B.

                    $('hm-rpc.*.1.WORKING(functions=licht_status)').on(function (obj) {
                    
                    F Offline
                    F Offline
                    fireboyff
                    schrieb am zuletzt editiert von
                    #9

                    @paul53

                    danke für deine Infos.
                    Auch danke an @ticaki für deine Bemühungen.

                    Problem somit gelöst.

                    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

                    708

                    Online

                    32.4k

                    Benutzer

                    81.5k

                    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