Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly - Trigger auf Homematic Systemvariable

    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

    Blockly - Trigger auf Homematic Systemvariable

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

      Hallo,

      ich fange gerade mit Blockly an und versuche wenn meine Alarmanlage auf blockiert schaltet das dann Alexa

      sagt welche Fenster noch geöffnent sind.

      Der Script(manueller Aufruf) funktioniert auch schon gut , dank DSLRaser 🙂

      Aber jetzt fehlt mir der erste Block/Trigger wo ich sagen kann wenn die Alarmanlage SV auf geblockt schaltet dann mache folgendens….

      Der Datenpunkt der Homematic ccu Systemvariabel ist vorhanden.

      3799_blockly.jpg

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

        Ich habe keine Alarmvariable, aber hier mal mit der Anwesenheit, meinst Du so etwas ?

        Also wenn sich der Status Anwesend auf false ändert, dann sage die offenen Fenster an ?

        ! ````
        <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="4O(a~f,K8t9;VKQ1gVX*" x="-662" y="-1188"><mutation items="1"></mutation>
        <field name="CONDITION">ne</field>

        <value name="OID0"><shadow type="field_oid" id="gVMgi@bFNV0L^d#eht9#"><field name="oid">hm-rega.0.950</field></shadow></value> 
        <statement name="STATEMENT"><block type="controls_if" id="N+F+/fYbDeMZL#(HaEo|"><mutation elseif="1"></mutation>
            <value name="IF0"><block type="logic_operation" id="~GP6pD@|V].N:T7PjO7D" inline="false"><field name="OP">AND</field>
                <value name="A"><block type="logic_compare" id="FU3D^mTxA(%!a:`?;7ra"><field name="OP">EQ</field>
                    <value name="A"><block type="get_value" id="pmgX{QFQ?HirYP;hh+PR"><field name="ATTR">val</field>
                        <field name="OID">hm-rega.0.950</field></block></value> 
                    <value name="B"><block type="logic_boolean" id="R_9F68pO*!/m=SZV[cOk"><field name="BOOL">FALSE</field></block></value></block></value> 
                <value name="B"><block type="logic_compare" id="T+)nZ(]w4LgDY/|?p56g"><field name="OP">EQ</field>
                    <value name="A"><block type="get_value" id="k=BXdEuQo7?Mo%bdfdng"><field name="ATTR">val</field>
                        <field name="OID">javascript.0.Status.Fenster.Anzahl_auf</field></block></value> 
                    <value name="B"><block type="math_number" id="UIkn|y5!gCnESr8G9{4^"><field name="NUM">0</field></block></value></block></value></block></value> 
            <statement name="DO0"><block type="variables_set" id="mk,--n%8x}e1WshOCBc."><field name="VAR">Ausgabetext</field>
                <value name="VALUE"><block type="text_join" id="Ew3VTw7qG|Fx:}vq3hIR"><mutation items="2"></mutation>
                    <value name="ADD0"><block type="text" id="Lo0@rGsN^gt1iZ#@~A/7"><field name="TEXT">aktuell sind ,</field></block></value> 
                    <value name="ADD1"><block type="get_value" id="i?[Ze,W23|M`_S5@d?;q"><field name="ATTR">val</field>
                        <field name="OID">javascript.0.Status.Fenster.Ansage</field></block></value></block></value> 
                <next><block type="timeouts_settimeout" id="^c,bQ)^![(HGz2QrWw/u"><field name="NAME">timeout1</field>
                    <field name="DELAY">500</field>
                    <field name="UNIT">ms</field>
                    <statement name="STATEMENT"><block type="comment" id="3e5[cR-lQ2P@g3-V]T.*"><field name="COMMENT">Wohnzimmer</field>
                        <next><block type="control" id="r|w?GKF2R8A%WSX@AP[|"><mutation delay_input="false"></mutation>
                            <field name="OID">alexa2.0.Echo-Devices.G070RQ10751706BR.Commands.speak</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE"><block type="variables_get" id="HTcKd2V9F)=k:Ae4mS}F"><field name="VAR">Ausgabetext</field></block></value></block></next></block></statement></block></next></block></statement> 
            <value name="IF1"><block type="logic_operation" id="|f-6^jw-skaSp9qt|Yo=" inline="false"><field name="OP">AND</field>
                <value name="A"><block type="logic_compare" id="P#_C:|-|@V(Pf%G:^w6z"><field name="OP">EQ</field>
                    <value name="A"><block type="get_value" id="lZ-DX:.Op+9r~VAw#7NL"><field name="ATTR">val</field>
                        <field name="OID">hm-rega.0.950</field></block></value> 
                    <value name="B"><block type="logic_boolean" id="xEws6.1Lhl@1bV9x*O#m"><field name="BOOL">FALSE</field></block></value></block></value> 
                <value name="B"><block type="logic_compare" id="IIYIEI#m]kO{n@]~D-Iw"><field name="OP">NEQ</field>
                    <value name="A"><block type="get_value" id="b9XvsC5`~:xqf]pZNr/T"><field name="ATTR">val</field>
                        <field name="OID">javascript.0.Status.Fenster.Ansage</field></block></value> 
                    <value name="B"><block type="math_number" id="Q=h_tjm~oZ)=O;=3~VSH"><field name="NUM">0</field></block></value></block></value></block></value> 
            <statement name="DO1"><block type="variables_set" id="G9@7hg4+AW[}#37X{)FQ"><field name="VAR">Ausgabetext</field>
                <value name="VALUE"><block type="text_join" id="E}t.Vu4|yVM/1;vs@=q)"><mutation items="3"></mutation>
                    <value name="ADD0"><block type="text" id="mP^8z90C2M~?oLtTdHCZ"><field name="TEXT">aktuell sind im ,</field></block></value> 
                    <value name="ADD1"><block type="get_value" id="G@qt*s+,v`~BHdQ(APsO"><field name="ATTR">val</field>
                        <field name="OID">javascript.0.Status.Fenster.Raum</field></block></value> 
                    <value name="ADD2"><block type="text" id=";?OZqXBf-(uz9v`]zM:]"><field name="TEXT">geöffnete Fenster</field></block></value></block></value> 
                <next><block type="timeouts_settimeout" id="9QMdgGGfKcRymHuSXO[h"><field name="NAME">timeout2</field>
                    <field name="DELAY">500</field>
                    <field name="UNIT">ms</field>
                    <statement name="STATEMENT"><block type="comment" id="ar/9TF8Vd%}*T0EZjydB"><field name="COMMENT">Wohnzimmer</field>
                        <next><block type="control" id="Bb1o5JFf|1.,~bZXb}g6"><mutation delay_input="false"></mutation>
                            <field name="OID">alexa2.0.Echo-Devices.G070RQ10751706BR.Commands.speak</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE"><block type="variables_get" id="-PHD6zw+V}q[tAkSD7_`"><field name="VAR">Ausgabetext</field></block></value></block></next></block></statement></block></next></block></statement></block></statement></block></xml> 
        
        
        So in etwa ?
        
         ![3822_bildschirmfoto_2018-09-23_um_18.35.27.png](/assets/uploads/files/3822_bildschirmfoto_2018-09-23_um_18.35.27.png) 
        1 Reply Last reply Reply Quote 0
        • B
          Belei last edited by

          Ja aber, die Variabel hat 5 Zustände und ich möchte nur bei einem bestimmten Zustand auslösen.

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

            Welche Zustände gibt es denn ?

            sonst hier die Zustände abfragen…..(wenn es Text ist, wenn es 1,2,3,4 oder 5 oder so ist, dann einen Mathebaustein nehmen)
            3822_bildschirmfoto_2018-09-23_um_18.42.24.png

            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 last edited by

              @Belei:

              die Variabel hat 5 Zustände und ich möchte nur bei einem bestimmten Zustand auslösen. `
              Ist es eine SV vom Typ "Werteliste" ? Dann muss man auf den Zahlenwert (0…4) prüfen, bei dem die gewünschte Aktion ausgelöst werden soll.
              493_blockly_trigger_sv_werteliste.jpg

              1 Reply Last reply Reply Quote 0
              • B
                Belei last edited by

                Ahhh ok.

                Es ist eine Werteliste

                {
                  "0": "intern scharf",
                  "1": "extern scharf",
                  "2": " unscharf",
                  "3": "ausgelöst",
                  "4": "blockiert"
                }
                
                1 Reply Last reply Reply Quote 0
                • B
                  Belei last edited by

                  So funktioniert es aber es dauert zwischen 5 und 30 Sekunden bis alexa spricht?

                  3799_blockly_alarmsv.jpg

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

                    @Belei:

                    So funktioniert es aber es dauert zwischen 5 und 30 Sekunden bis alexa spricht?

                    filename="blockly_alarmsv.JPG" index="0">~~ `

                    Ja, Du steuerst wahrscheinlich in der CCU Deine Alarmanlage ?

                    Kannst ja auch in ioBroker steuern und den Datenpunkt setzen, also anders herum…Der Rega hat ja ein Polling (bei mir 30 Sekunden)

                    PS: und wenn Du nur einen Echo sprechen lassen willst brauchst Du das steuere Trigger/rescan nicht, dann reicht der Speak mit der Auswahl Deines Echos.

                    Und den timout2 im Bild brauchst Du bei einem Echo dann eigentlich auch nicht.

                    PPS: und wenn alle Fenster geschlossen sind kommt in Deiner Variante keine Ansage ? (aber vielleicht ist das auch so gewollt ?)

                    Vielleicht solltest Du auch die Lautstärke des Echos für die Ansage auf volle Pulle drehen und nach der Ansage wieder runter stellen auf normales Niveau, sonst bekommst Du unter Umständen die Ansage gar nicht mit wenn er vorher leise war)

                    ![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201809 ... 943755.jpg">https://uploads.tapatalk-cdn.com/20180923/26ad9b57eb0656c786530ac0f8943755.jpg</link_text>" />

                    1 Reply Last reply Reply Quote 0
                    • B
                      Belei last edited by

                      Genau Alarmanlage läuft über die CCU, wo ich es auch gern lassen würde.

                      • Trigger/rescan hab ich aus unkenntniss einfach mal drin gelassen .

                      • Timeout weil ich dachte vieleicht muss ich die Ansage nach hinten verzögern…. Aber das ist wohl gerade nicht der Fall.

                      • Lautstärke ist eine gute Idee

                      -alle Fenster geschlossen= keine Ansage ist so gewollt(vorerst) Momentan sabellt noch ein Homematic Gong für die Alarmanlage 🙂

                      Wenn ich den Pull kürzer mache, belastet das die Systeme stark?

                      <u>EDIT:</u>

                      Ich lese gerade:
                      ` > Polling

                      Mit der Checkbox aktiviert wird die regelmäßige Abfrage der RegaHSS-Daten von der CCU gestartet. In dem Feld Intervalle wird der Abfrageabstand in Sekunden eingegeben, in der die Daten von der REGA-HSS von der CCU geladen werden sollen. Ein zu häufiges Abfragen kann zum Absturz der CCU führen.

                      Trigger

                      Um die aktiven Abfragen von ioBroker an den RegaHSS zu minimieren, kann auf der CCU innerhalb eines Programms auch ein Trigger die Daten bei Änderung pushen. Dafür kann eineVirtuelle Taste der CCU genutzt werden, die in einem CCU-Programm ausgelöst wird. Standardmäßig ist dies die Taste BidCosRF.50.PRESS_SHORT.

                      –----------------------------------------- `

                      Aus der CCU an iob triggern , das klingt doch gut, oder?

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

                        @Belei:

                        Genau Alarmanlage läuft über die CCU, wo ich es auch gern lassen würde.

                        • Trigger/rescan hab ich aus unkenntniss einfach mal drin gelassen .

                        • Timeout weil ich dachte vieleicht muss ich die Ansage nach hinten verzögern…. Aber das ist wohl gerade nicht der Fall.

                        • Lautstärke ist eine gute Idee

                        -alle Fenster geschlossen= keine Ansage ist so gewollt(vorerst) Momentan sabellt noch ein Homematic Gong für die Alarmanlage 🙂

                        Wenn ich den Pull kürzer mache, belastet das die Systeme stark?

                        <u>EDIT:</u>

                        Ich lese gerade:

                        Polling
                        
                        Mit der Checkbox aktiviert wird die regelmäßige Abfrage der RegaHSS-Daten von der CCU gestartet. In dem Feld Intervalle wird der Abfrageabstand in Sekunden eingegeben,  in der die Daten von der REGA-HSS von der CCU geladen werden sollen. Ein zu häufiges Abfragen kann zum Absturz der CCU führen.
                        
                         
                        Trigger
                        
                        Um die aktiven Abfragen von ioBroker an den RegaHSS zu minimieren, kann auf der CCU innerhalb eines Programms auch ein Trigger die Daten bei Änderung pushen. Dafür kann eineVirtuelle Taste der CCU genutzt werden, die in einem CCU-Programm ausgelöst wird. Standardmäßig ist dies die Taste BidCosRF.50.PRESS_SHORT.
                        
                        -------------------------------------------
                        

                        Aus der CCU an iob triggern , das klingt doch gut, oder? ` Wo schaltest Du denn die Alarmanlage ?

                        Am Handy (App), oder ein Schalter ?

                        Kürzeres pollen habe ich noch nicht probiert…

                        1 Reply Last reply Reply Quote 0
                        • B
                          Belei last edited by

                          Ok, jetzt hab ichs :idea:

                          Man kann aus der CCU mit einem virtuellem Button, IOBroker triggern.

                          Dann macht auch die Verzögerung wieder Sinn 🙂

                          3799_ccu-blockly.jpg

                          Dieses Falls Falls könnte man bestimmt eleganter Lösen aber es funktioniert.

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

                            @Belei:

                            Ok, jetzt hab ichs :idea:

                            Man kann aus der CCU mit einem virtuellem Button, IOBroker triggern.

                            Dann macht auch die Verzögerung wieder Sinn 🙂

                            filename="ccu-blockly.JPG" index="0">~~

                            Dieses Falls Falls könnte man bestimmt eleganter Lösen aber es funktioniert. ` jetzt mal so aus dem Kopf und vom Handy aus, aber den zweiten Trigger brauchst Du glaube ich gar nicht. Schiebe mal den Inhalt vom zweiten Trigger in den erst und deaktieviere mal den anderen übrigen Baustein. (rechte Maustaste auf den Baustein und deaktivieren)

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

                              und der zweite Falls mache Block in Deinem Blockly ist auch über wenn Du ein "und" nimmst

                              also im Grund so wie hier..

                              Kannst es ja mit Wert ersetzen (Werteliste)![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201809 ... 208145.jpg">https://uploads.tapatalk-cdn.com/20180924/ad05fa5f5e7a36446769c9caf9208145.jpg</link_text>" />

                              1 Reply Last reply Reply Quote 0
                              • B
                                Belei last edited by

                                Meinst du so?

                                Aber woher kommt dann der Bezug zu der Alarmsv? Wert 4 usw?

                                Oder kann der dann komplett raus weil der Trigger dann der virtuelle Button ist?

                                3799_so.jpg

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

                                  @Belei:

                                  Meinst du so?

                                  Aber woher kommt dann der Bezug zu der Alarmsv? Wert 4 usw?

                                  Oder kann der dann komplett raus weil der Trigger dann der virtuelle Button ist?

                                  filename="so.JPG" index="0">~~ ` bin leider unterwegs…Aber worauf triggert denn der Button, nur auf den Wert 4, oder wie ist das erstellt ?

                                  Ich meine es geht auch wie in dem Bild weiter oben, mit dem Baustein wenn wert vom Gerät = 4 (nicht mit dem Wertbaustein)

                                  Ich kann es gerade schlecht erklären...

                                  Heute Abend dann vielleicht mehr...

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    Belei last edited by

                                    Einfach nur als Tastendruck in der ccu wenn alarm auf blockiert geschaltet wird.

                                    Dann müste ich für jede FB und ggf Alarm SV Zustand je einen neuen virtuellen Button anlegen, oder?

                                    3799_hm.jpg

                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      Belei last edited by

                                      Wenn ich den selben Trigger in mehreren Hm Programmen benutze dann brauche ich ja in jedem Iobroker Script noch einen

                                      2 Trigger bzw abgleich.

                                      Ich bekomme aber den Bezug auf die Object ID (AlarmSV) und den HM-RV 50 nicht mit rein?

                                      Außer ich nehme den falls falls Fall von vor 7 Beiträgen…..

                                      3799_so.jpg 3799_blockly_alarmsv.jpg

                                      1 Reply Last reply Reply Quote 0
                                      • smile
                                        smile last edited by smile

                                        Hallo @Belei ,

                                        ich habe selbiges Problem bei mir gehabt. Es hat mich immer genervt, dass wenn ich meine Systemvariablen auf der Homematic ändere, teilweise eine recht lange Verzögerung ist bis diese von iobroker erkannt werden. Bin dann auf diesen Thread gestoßen und habe es umgesetzt.

                                        Falls du deine Frage noch nicht beantwortet hast: Du brauchst keinen Trigger auf den BidCoS-RF50 setzen. Es reicht wenn dieser in den Adaptereinstellung von HM-rega also globaler Trigger eingestellt ist. Du musst dann lediglich auf der Homematic ein Programm anlegen, welches alle deine Systemvariablein bei Aktualisierung auf diesen Kanal Triggert. Dann schalten alle Systemvariablen der Homematic in iobroker sofort.

                                        Kaum zu glauben, 3 Jahre habe ich mit diesem Zustand gelebt und nun das! 😁 😇 😂

                                        O 1 Reply Last reply Reply Quote 0
                                        • O
                                          osu @smile last edited by osu

                                          @smile kläre mich mal bitte auf, was ich hier https://forum.iobroker.net/topic/24109/trigger-in-adapterkonfiguration-hm-rega
                                          falsch gemacht habe 😃 - Deine Antwort klingt genau nach meinem Problem, nur sehe ich die Lösung nicht.

                                          Gruß,
                                          Oli

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          724
                                          Online

                                          31.8k
                                          Users

                                          79.9k
                                          Topics

                                          1.3m
                                          Posts

                                          5
                                          19
                                          3137
                                          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