Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Licht in homematic einschalten über harmony und fakeroku

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Licht in homematic einschalten über harmony und fakeroku

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      calliou1234 last edited by

      Hallo IoBroker Gemeinde,

      ich bin seit einer guten Woche mit IoBroker zu Gange und habe auch schon einiges abgebildet.

      Vielen Dank an alle, die das Ganze ermöglicht haben!!!

      Folgende Umgebung ist installiert:

      Homematic CCU2 mit diversen Aktoren

      Harmony Hub mit FB Elite

      IoBroker auf Raspberry 3

      Aktuell habe ich folgendes Problem:

      Ich möchte über den Harmony Hub eine Lampe über die Homematic einschalten.

      Ich habe die Harmony und fakeroku Adapter in IoBroker installiert.

      Die Signale kommen auch in IoBroker an.

      Wenn ich z.B. die Info Taste auf der FB drücke springt die Anzeige in den Objekten kurz von false auf true um.

      Mit diesem Trigger möchte ich nun mit einem Script die Aktion auf dem Homematic Aktor starten.

      Leider funktioniert das nicht?

      Mein Script das ich verwende ist folgendes:

      on({id: "fakeroku.0.ioBroker.keys.Info"/info/}, function (obj) {

      setState("hm-rpc.0.NEQ1736283:1.STATE"/HM-LC-Sw1PBU-FM NEQ1736283:1.STATE/,!getState("hm-rpc.0.NEQ1736283:1.STATE"/HM-LC-Sw1PBU-FM NEQ1736283:1.STATE/).val);

      });

      Was mache ich falsch?

      [Edit] Das Skript funktioniert. Eigentlich… Der Status ändert sich wie gesagt kurz auf true und springt dann wieder auf false zurück.

      D.h. die Lampe geht kurz ein und gelich wieder aus!!

      1 Reply Last reply Reply Quote 0
      • F
        Fitti last edited by

        Hmm, ich persönlich kenne mich nicht aus mit harmony und fakeroku.

        Da bisher keiner geantwortet hat, versuche ich dennoch eine Antwort zu finden:

        Ich würde zumindest einen change: noch reinbringen, der auf die Art der Änderung triggert. Vermutlich wird bei Dir auf JEDE Änderung getriggert. Also auf true und dann gleich wieder auf false. Somit hast Du zwei kurze hintereinander aufgerufene Änderungen.

        on({id:"fakeroku.0.ioBroker.keys.Info",
            change: 'gt'
        }, function () {
            setState("hm-rpc.0.NEQ1736283:1.STATE",1); 
        

        gt= greater then (also wenn der neue Status zum alten größer ist, was beim Wechsel von false auf true ist.

        lt= lower than; eq= equal, any= wirklich jede Änderung, usw…)

        Diese Zeile verstehe ich nicht, anscheinend setzt Du den gleichen Wert einfach wieder in dein Gerät.

        setState("hm-rpc.0.NEQ1736283:1.STATE",!getState("hm-rpc.0.NEQ1736283:1.STATE").val);
        

        Das ist doch vermutlich ein HM-Gerät, oder? Was willst du machen? Es einschalten: dann wäre es so, wie in meinem Beispiel zu schreiben. 1 = an, 0= aus,

        0.5 = 50% dimmer.

        Na ich hoffe es hilft etwas!

        So long,

        Fiiti

        1 Reply Last reply Reply Quote 0
        • C
          calliou1234 last edited by

          Hallo Fitti,

          vielen Dank für die Anwort.

          Das Script

          setState("hm-rpc.0.NEQ1736283:1.STATE",!getState("hm-rpc.0.NEQ1736283:1.STATE").val);
          

          invertiert den aktuellen Wert des Zustands des Geräts. In meinem Fall einen Homematic Schaltaktor für ein Licht.

          Das funktioniert auch, wenn ich den anstatt des fakeroku Triggers

          on({id: 'fakeroku.0.ioBroker.keys.Info'}, function (obj) {
          
          

          zum Beispiel mit einer homematic FB starte.

          on({id: 'hm-rpc.0.NEQ1663965.3.PRESS_SHORT'}, function (obj) {
          
          

          Alles klappt wunderbar, die Lampe schaltet von ein auf aus und umgekehrt.

          Setze ich den Trigger aber über den fakeroku Adapter (Emulation von Tasten der harmony Fernbedienung) ändert sich der Zustand nur ganz kurz.

          Lampe schaltet kurz ein und wieder aus.

          Das Fakeroku Objekt ändert auch nur kurz den Staus. Springt kurz von fals auf true!

          1 Reply Last reply Reply Quote 0
          • I
            iphoner2804 last edited by

            Ich habe das in ioBroker mit dem Szenen Adapter realisiert. Eine freie Taste zb. rot,gelb,grün usw. jeweils mit der Desktop Version von Harmony mit den virtuellen fakeroku Befehlen erstellt. ZB. rot kurz gedrückt (fakeroku Befehl 1) und lang gedrückt (fakeroku Befehl 2). Befehl 1 schaltet Licht oder ein und Befehl 2 wieder aus. Danach in ioBroker den Szenen-Adapter installieren und jeweils eine Szene für einschalten und ausschalten erstellen. Wen man versehentlich lang bei ausgeschalteten Gerät drückt wird kurz ein und aus geschaltet. Damit kann ich aber leben.

            Gesendet von iPhone mit Tapatalk

            1 Reply Last reply Reply Quote 0
            • P
              Pman last edited by

              Der Wert im Fakeroku ist tatsächlich immer nur kurz auf true, er spiegelt damit ja auch den Knopf der FB wieder (du drückst einmal kurz runter).

              Du Toggelst den "hm-rpc.0.NEQ1736283:1.STATE" im Moment aber bei JEDER Änderung, also von false auf true und von true auf false.

              Richtig wäre es entweder so:

              on({id: "fakeroku.0.ioBroker.keys.Info"}, function (obj) {
              	if (obj.state.val === true) {
              		setState("hm-rpc.0.NEQ1736283:1.STATE",!getState("hm-rpc.0.NEQ1736283:1.STATE").val);
              	}
              });
              

              oder direkt nur beim true-Fall triggern:

              on({id: "fakeroku.0.ioBroker.keys.Info", val: true}, function (obj) {
              	setState("hm-rpc.0.NEQ1736283:1.STATE",!getState("hm-rpc.0.NEQ1736283:1.STATE").val);
              });
              

              außerdem würde ich ein setStateDelayed nutzen, um abzufangen, dass der Fakeroku-State ggf. mehrfach kurz hintereinander auf true gesetzt wird (gedrückt halten oder doppelt drücken). In diesem Fall sind jetzt 500ms Puffer eingestellt.

              on({id: "fakeroku.0.ioBroker.keys.Info", val: true}, function (obj) {
              	setStateDelayed("hm-rpc.0.NEQ1736283:1.STATE",!getState("hm-rpc.0.NEQ1736283:1.STATE").val, false, 500, true);
              });
              
              1 Reply Last reply Reply Quote 0
              • C
                calliou1234 last edited by

                😄 Super vielen Dank hat geklappt!!!

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post

                Support us

                ioBroker
                Community Adapters
                Donate

                799
                Online

                31.7k
                Users

                79.8k
                Topics

                1.3m
                Posts

                4
                6
                2105
                Loading More Posts
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes
                Reply
                • Reply as topic
                Log in to reply
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                The ioBroker Community 2014-2023
                logo