Skip to content
  • Home
  • 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
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] Status eines Aktors abfragen per Script

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    236

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

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

[gelöst] Status eines Aktors abfragen per Script

Scheduled Pinned Locked Moved Skripten / Logik
14 Posts 5 Posters 3.0k 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.
  • paul53P Offline
    paul53P Offline
    paul53
    wrote on last edited by
    #3

    @michihorn:

    Kann mir jemand zeigen wo mein Fehler liegt? `
    Einen Fehler kann ich nicht entdecken. Es lässt sich etwas kürzer programmieren.

    createState('HWR.WM_Status', {
        desc: "Status Waschmaschine",
        def:  "AUS",
        type: "string"
    });
    var WM = "hm-rpc.0.LEQ1272850.1.STATE"; 
    
    on(WM, function (obj) {   // bei Änderung auslösen
      var neu = 'EIN';
      if (!obj.state.val) neu = 'AUS';
      setState('HWR.WM_Status', neu);
      log("***Waschmaschine Status:  " + neu);
    });
    
    

    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
    • P Offline
      P Offline
      pix
      wrote on last edited by
      #4

      Oder probier mal so (paul53 war schneller):

      ! ````
      createState('HWR.WM_Status', {
      name: 'Status HWR Waschmaschine',
      def: false,
      type: 'boolean',
      states: {false:'Aus',true:'Ein'}
      });
      ! var WM = "hm-rpc.0.LEQ1272850.1.STATE";
      ! on({id: WM, change: 'ne'}, function (obj){
      if (obj.state.val) setState('HWR.WM_Status', 'EIN');
      else setState('HWR.WM_Status', 'AUS');
      log("***Waschmaschine Status: " + getState('HWR.WM_Status').val);
      });

      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
      • paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by
        #5

        @pix: Wenn ein Datenpunkt vom Typ "boolean" mit "states" verwendet wird, kann dieser nur mit Werten vom Typ "boolean" beschrieben werden:

        ! createState('HWR.WM_Status', { name: 'Status HWR Waschmaschine', def: false, type: 'boolean', states: {false:'Aus',true:'Ein'} }); ! var WM = "hm-rpc.0.LEQ1272850.1.STATE"; ! on({id: WM, change: 'ne'}, function (obj){ setState('HWR.WM_Status', obj.state.val); log("***Waschmaschine Status: " + getObject('HWR.WM_Status').common.states[obj.state.val]); }); !

        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
        • M Offline
          M Offline
          michihorn
          wrote on last edited by
          #6

          Hallo Pix, Hallo Paul53

          vielen Dank für eure Mühe , ich werde sicher noch viele Fragen zum Programmieren haben.

          Ich habe Eure Änderungen alle Probiert, sie machen im Prinzip das selbe wie mein Script.

          Die VAR "HWR.WM_Status" wird geändert, bei Status false wird "AUS" geschrieben und bei Status true wird "true" geschrieben und nicht "EIN", auch die LOG Zeile wird nur auf false gesetzt aber bei Statuswechsel nicht auf EIN.

          Aktuell beschreibe ich das letzte Script von Paul53

          Ähnlich ist das Verhalten auch bei PIX Script,

          so als ob die "else" ignoriert wird.

          ich habe zum testen, ob das Script überhaupt "else" ausführt, direkt die Zeile darunter mal ein LOG geschrieben, Ergebnis ist, das die "ELSE" tatsächlich ignoriert wird.

          createState('HWR.WM_Status', {
              name: "Status HWR Waschmaschine",
              def: "AUS",
              type: "string"
          });
          var WM = "hm-rpc.0.LEQ1272850.1.STATE"; 
            var neu;
          on({id: WM, change: 'ne'}, function (obj){ 
            var status=obj.state.val;
          
            if (status === false) {
                neu = 'AUS';
                setState('HWR.WM_Status', neu);
                log("***Waschmaschine Status:  " +neu);
            } else {
              log("**else");
             var neu1 = 'EIN';  
                setState('HWR.WM_Status', neu1);
                log("***Waschmaschine Status:  " +neu1);
            }
          });
          

          Michael

          1 Reply Last reply
          0
          • paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by
            #7

            Das Log im letzten Script habe ich so geändert, dass die Zustandstexte (states) im Log ausgegeben werden.

            log("***Waschmaschine Status: " + getObject('HWR.WM_Status').common.states[obj.state.val]);
            

            Wichtig :!: Bevor Du das Script mit dem geänderten Datenpunkttyp (boolean mit states) startest, muss der alte Datenpunkt 'javascript.0.HWR.WM_Status' im Reiter "Objekte" gelöscht werden.

            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
            • M Offline
              M Offline
              michihorn
              wrote on last edited by
              #8

              Die alten Datenpunkte sind gelöscht. 326_unbenannt.jpg

              Habs es so mit meinem alten Script am laufen…Juhu

              createState('HWR.WM_Status', 0);
              var WM = "hm-rpc.0.LEQ1272850.1.STATE"; 
              
              var neu;
              on({id: WM, change: 'ne'}, function (obj){ 
                var status=obj.state.val;
              
                 if (status === false) {
                     neu = 'AUS';
                 setState('HWR.WM_Status', neu);
                 log("***Waschmaschine Status:  " +neu);
                 } else {
                    neu = 'EIN';  
                  setState('HWR.WM_Status', neu);
                 log("***Waschmaschine Status:  " +neu);
                 }
              
              });
              
              

              Danke nochmal für die Unterstützung

              Bis bald

              Michael

              1 Reply Last reply
              0
              • paul53P Offline
                paul53P Offline
                paul53
                wrote on last edited by
                #9

                > Cannot read property 'common' of null
                Kann sein, dass man bei getObject(id) die komplette ID angeben muss ?

                log("***Waschmaschine Status: " + getObject('javascript.' + instance + '.HWR.WM_Status').common.states[obj.state.val]);
                

                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
                • M Offline
                  M Offline
                  michihorn
                  wrote on last edited by
                  #10

                  Ich habe jetzt meine Visualisierung für Waschmaschine und Trockner im Feintuning.

                  Wenn die Waschmaschine über den Strommesser geschaltet wird, gibt es entweder 0 oder 1, für AUS oder EIN in der VAR HWR.WM_Status.

                  Ein weiteres Script ermittelt den Stromfluß in Grenzen vom 1000mA bis 75mA, alles dazwischen bekommt den Wert 2 in der HWR.WM_Status.

                  Wenn die Stromaufnahme länger 4 Minuten auf unter 75mA bleibt, gehe ich davon aus, dass der Waschvorgang beendet ist, dann wird der Wert 3 in der VAR HWR.WM_State gesetzt.

                  Entsprechend der Wertigkeiten der VAR HWR.WM_Status ändere ich in der VIS im Widget metro-Tile ValueList8 die farbliche Darstellung.

                  Status 0 und 1 erhalten die selbe Farbe "GRAU", lediglich die Beschriftung wird geändert. (EIN / AUS)

                  Status 2 wird Farbe rot. Beschriftung: WM läuft

                  Status 3 wird Farbe grün. Beschriftung: WM fertig.

                  326_unbenannt.jpg

                  Es wird sicher noch etwas Optimierungsbedarf geben. Der erste Waschgang läuft gerade. ;-)

                  Ich suche noch ein Widget mit dem gerade beschriebenen Eigenschaften und zusätzlich beim "Klicken" das Ausschalten des Aktors.

                  Hat jemand einen Tip?

                  Michael

                  1 Reply Last reply
                  0
                  • A Offline
                    A Offline
                    Alchy
                    wrote on last edited by
                    #11

                    @michihorn:

                    Ich suche noch ein Widget mit dem gerade beschriebenen Eigenschaften und zusätzlich beim "Klicken" das Ausschalten des Aktors.

                    Hat jemand einen Tip?

                    Michael `

                    Metro Tile Toogle

                    Und wenn du unten im Widget die Signalbilder benutzt, brauchst du noch nicht mal ein Script für den größten Teil deiner Funktionen.

                    Allgemein:

                    Object ID: State Datenpunkt deines Aktors zum Ein und Ausschalten des Aktors als solches

                    Signalbilder

                    Objekt ID [0]: z.B Stromdatenpunkt deines Aktors größer 75 dann bei Beschreibung WM läuft und / oder passendes Signalbild

                    Objekt ID [1]: z.B Stromdatenpunkt deines Aktors kleiner 75 dann bei Beschreibung WM aus und / oder passendes Signalbild

                    ….

                    Alchy

                    Im Anhang mal schnell zusammengeklickt für eine Pumpe: nur Beschreibungstext bei Signalbildern verwendet

                    1495_metro_tile_toogle_summe.jpg

                    1 Reply Last reply
                    0
                    • HomoranH Do not disturb
                      HomoranH Do not disturb
                      Homoran
                      Global Moderator Administrators
                      wrote on last edited by
                      #12

                      Hallo alchy und Willkommen im Forum!

                      Wenn du der bist, der ich denke, dass du der bist, hast du wahrscheinlich immer noch Langeweile?

                      Gruß

                      Rainer

                      kein Support per PN! - Fragen im Forum stellen -
                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!

                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        Alchy
                        wrote on last edited by
                        #13

                        Hallo Homoran

                        Ich bin alchy aus dem Homematicforum, wenn du das denkst wer ich bin.

                        Ich weiß, kann ja jeder behaupten, aber das wird sich schon ergeben. :mrgreen:

                        Langeweile - nö - kann nicht klagen. Eher das Gegenteil - wenn auch nicht aus Homematic Sicht.

                        Aber ich habe mir neues Spielzeug zugelegt und nun bin ich dabei, ernsthaft auf iBroker umzusteigen,

                        da CCU.IO und Dashui zwar laufen, aber eben auch nicht mehr weiter entwickelt werden.

                        Außerdem schadet es nie, sich mit weiteren Scriptsprachen usw. zu beschäftigen. Man lernt ja nie aus.

                        Hier bin ich wieder Anfänger und muss erst mal viel lesen und lernen.

                        Wenn ich mal irgendwann helfen kann, werde ich das natürlich auch hier tun, wenn ich darf.

                        Alchy

                        1 Reply Last reply
                        0
                        • HomoranH Do not disturb
                          HomoranH Do not disturb
                          Homoran
                          Global Moderator Administrators
                          wrote on last edited by
                          #14

                          Hallo Alchy
                          @Alchy:

                          Wenn ich mal irgendwann helfen kann, werde ich das natürlich auch hier tun, wenn ich darf. `
                          Ich freue mich schon drauf.

                          @Alchy:

                          Außerdem schadet es nie, sich mit weiteren Scriptsprachen usw. zu beschäftigen. Man lernt ja nie aus `
                          Dauernd unterwegs und immer noch nicht ausgelastet.

                          Wenn wir dir hier etwas helfen können, sag Bescheid.

                          Gruß

                          Rainer

                          kein Support per PN! - Fragen im Forum stellen -
                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!

                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                          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

                          572

                          Online

                          32.7k

                          Users

                          82.5k

                          Topics

                          1.3m

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

                          • Don't have an account? Register

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