Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. CCU Variable beschreiben

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    CCU Variable beschreiben

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

      Hallo an alle,

      ich habe ein einfaches Problem denke ich.

      Ich möchte Werte aus dem Yamahaadapter in eine CCU Variable schreiben, zB die Lautstärke, Sendername ect.

      Ich kriege es nicht hin, mache ich das mit Blocky?

      Wie muss ich es machen, sehe den Wald vor lauter Bäume nicht denke ich.

      Gruß Thorsten

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

        Hallo,

        das geht mit dem Javascript Adapter. Hier die Lösung für Javascript, nicht Blockly:

        var idYamaha1 = "yamaha.0.Wert1"; // ggf. Instanz yamaha und Datenpunkt anpassen
        var idCCUWert1 = "hm-rega.0.98765"; // Datenpunkt anpassen (98765)
        
        on(idYamaha1, idCCUWert1); // Synchronisierung
        
        

        Damit wird ein Wert1 aus dem Yamaha-Adapter bei Änderung immer in den Rega-Adapter synchronisiert (nur in diese eine Richtung). Der Rega-Adapter ist u.a. für die Systemvariablen der CCU zuständig.

        Du musst natürlich die Datenpunkte und ggf. Instanzen anpasssen.

        Gruß

        Pix

        1 Reply Last reply Reply Quote 0
        • htrecksler
          htrecksler Forum Testing last edited by

          Echt? wirklich so ganz ohne getState und setState?

          Dann hab ich es ja immer viel zu kompliziert gemacht.

          Wieder was gelernt…

          var idCCUWert1 = getState("hm-rega.0.98765").val;
          
          

          so hol ich mir die immer

          1 Reply Last reply Reply Quote 0
          • H
            Hosifox last edited by

            Super, vielen dank.

            Noch eine Frage, wie oft kann ich synchronisieren ohne das die CCU schlapp macht oder ist es egal?

            Habe mal auf alle 10 Sekunden eingestellt, auf jede Sekunde wäre natürlich besser :roll:

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

              @htrecksler:

              Echt? wirklich so ganz ohne getState und setState?

              Dann hab ich es ja immer viel zu kompliziert gemacht.

              Wieder was gelernt…

              var idCCUWert1 = getState("hm-rega.0.98765").val;
              
              

              so hol ich mir die immer `
              Da bringst du was durcheinander:

              var idCCUWert1 = "hm-rega.0.98765";
              ````beschreibt nur die Variable idCCUWert1 mit dem String "hm-rega.0.98765". Das ist eigentlich nicht nötig und nur zur leichteren Lesbarkeit der folgenden Subscription / Überwachung mit on(). Deshalb steht auch das "id" mit im Variablennamen, damit man (als Mensch) das Unterscheiden kann (ich alte es so: var idWert enthält nur String zum Objekt, var wert kann mit getState(idWert).val oder getState(idWert).ts oder so befüllt worden sein).
              
              Es ginge auch so:
              

              on("yamaha.0.Wert1", "hm-rega.0.98765");

              Und das ist auch nur eine Kurzschreibweise. Ausgeschrieben wäre das dann so:
              

              on({id: "yamaha.0.Wert1", change: 'ne'}, function (objekt) {
              setState("hm-rega.0.98765", objekt.newState.val);
              });

              Heisst nix anderes, als: Wenn der Wert von yamaha.0.Wert1 sich ändert, wird dieser Wert in in hm-rega.0.98765 geschrieben. Sofort.
              
              Gruß
              
              Pix
              
              PS: "newState" Notiz aus der [https://github.com/ioBroker/ioBroker.javascript#on–-subscribe-on-changes-or-updates-of-some-state](https://github.com/ioBroker/ioBroker.javascript#on–-subscribe-on-changes-or-updates-of-some-state): __early was newState instead of state. It is still working.__
              
              Weiterhin:
                ` > To simply connect two states with each other, write:
              > 
              > on('stateId1', 'stateId2');
              > 
              > All changes of stateId1 will be written to stateId2.
              > 
              > Please note, that by default "change" is equal to "any", except when only id as string is set (like on("id", function (){});). In last case change will be set to "ne". ` 
              1 Reply Last reply Reply Quote 0
              • htrecksler
                htrecksler Forum Testing last edited by

                > Da bringst du was durcheinander:
                @pix - du hast natürlich völlig recht…man sollte richtig lesen. Aber es war ja noch sooo früh 🙂

                1 Reply Last reply Reply Quote 0
                • X
                  Xanon last edited by

                  Hallo,

                  Ich ich versuche die CCU Variable Rasenmaeher mit IO-Broker und anders herum synchron halten.

                  Heisst, wenn ich über IO-Broker den Rasenmäher starte, soll die Variable in der CCU aus TRUE gehen bzw. das gleiche bei aus.

                  Zudem möchte ich aber auch aus der CCU die Variable schalten und damit den Rasenmäher über IO-Broker starten / Stoppen

                  Wenn ich das mache läuft allerdings mein LOG voll und der Rasenmäher fährt kurz los und stoppt sofort wieder.

                  Wahrscheinlich ist mein JavaSkript oder meine Herangehensweise falsch.

                  Ich glaube ich schalte durch das eine ein und durch das andere wieder aus. Kann das sein? :oops:

                  Weiss aber nicht, wie das Skript anders aussehen soll.

                  Wollte es eigentlich gerne mit Blockly machen, aber auch da weiss ich nicht, wie ich das machen soll.

                  Mein Skript sieht so aus:
                  ` > var IO_Rasenmaeher = 'landroid-s.0.mower.state'; // Rasenmäherstatus IOBroker

                  var HM_Rasenmaeher = 'hm-rega.0.1668'; // Objekt von systemvariable Rasenmaeher

                  on(IO_Rasenmaeher, HM_Rasenmaeher); // Synchronisierung IoBroker zu Homematic

                  on(HM_Rasenmaeher, IO_Rasenmaeher); // Synchronisierung Homematic zu IoBroker `

                  Das Log sieht so aus:
                  ` > landroid-s.0 2018-08-22 19:25:48.002 warn Can not stop mover because he did not mow or theres an error

                  landroid-s.0 2018-08-22 19:25:48.002 info stateChange landroid-s.0.mower.state {"val":false,"ack":false,"ts":1534958748001,"q":0,"from":"system.adapter.javascript.0","lc":1534958747998}

                  landroid-s.0 2018-08-22 19:25:47.998 warn Can not start mover because he is not at home or there is an Error please take a look at the mover

                  landroid-s.0 2018-08-22 19:25:47.998 info stateChange landroid-s.0.mower.state {"val":true,"ack":false,"ts":1534958747997,"q":0,"from":"system.adapter.javascript.0","lc":1534958747994}

                  landroid-s.0 2018-08-22 19:25:47.993 warn Can not stop mover because he did not mow or theres an error

                  landroid-s.0 2018-08-22 19:25:47.993 info stateChange landroid-s.0.mower.state {"val":false,"ack":false,"ts":1534958747992,"q":0,"from":"system.adapter.javascript.0","lc":1534958747988}

                  landroid-s.0 2018-08-22 19:25:47.988 warn Can not start mover because he is not at home or there is an Error please take a look at the mover

                  landroid-s.0 2018-08-22 19:25:47.988 info stateChange landroid-s.0.mower.state {"val":true,"ack":false,"ts":1534958747987,"q":0,"from":"system.adapter.javascript.0","lc":1534958747984}

                  landroid-s.0 2018-08-22 19:25:47.984 warn Can not stop mover because he did not mow or theres an error `

                  Würde mir jemand kurz helfen?

                  1 Reply Last reply Reply Quote 0
                  • dslraser
                    dslraser Forum Testing Most Active last edited by

                    also wenn ich es richtig verstehe sollte es ja so ähnlich wie bei der Anwesenheit funktionieren. Die Variable hast Du ja anscheinend in der CCU angelegt, oder ?

                    Bei der Anwesenheit funktioniert das in beide Richtungen mit einem kleinen Blockly.![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201808 ... 734b55.jpg">https://uploads.tapatalk-cdn.com/20180822/7d49e426230f46adc10a9a67ea734b55.jpg</link_text>" />

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    835
                    Online

                    31.7k
                    Users

                    79.9k
                    Topics

                    1.3m
                    Posts

                    5
                    8
                    2717
                    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