Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Klima an, Kontakt schaltet aus, Klima an, wenn sie an war

    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

    Klima an, Kontakt schaltet aus, Klima an, wenn sie an war

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

      Im Thema steht schon eigentlich alles drin. Ich möchte einen Blockly erstellen, welches den Zustand der Klimaanlage erkennt und nach Auslösen eines Fensterkontakts, erkennt ob diese an ist und ausschalten bzw. danach wieder anschaltet. Das habe ich soweit hinbekommen, Dank Forum & Google.
      Jetzt möchte ich aber auch noch das der Blockly erkennt, ob die Klima vorher gelaufen ist oder nicht. Soll nur wieder einschalten, wenn diese vorher gelaufen ist bzw. nicht einschalten, wenn sie aus war.
      Habe dazu überhaupt keine Idee, wie ich da ran gehen soll.

      So sieht mein Blockly zur Zeit aus (5 sek sind nur zum Test, nachher auf 20 sek).

      Screenshot_2020-07-12 javascript - ioBroker(1).png

      Danke für einen Tipp

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

        @Slowman sagte:

        Soll nur wieder einschalten, wenn diese vorher gelaufen ist

        In der Variablen timeout kann man sich merken, dass die AC gelaufen ist. Nur dann wird aus- und wieder eingeschaltet.

        Blockly_temp.JPG

        <xml xmlns="https://developers.google.com/blockly/xml">
         <variables>
           <variable type="timeout" id="timeout">timeout</variable>
         </variables>
         <block type="on_ext" id="i}[m}^:4f9gAPt:z~qMy" x="62" y="12">
           <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
           <field name="CONDITION">ne</field>
           <field name="ACK_CONDITION"></field>
           <value name="OID0">
             <shadow type="field_oid" id="m+wH@_tMW4.~muX9*`Ap">
               <field name="oid">default</field>
             </shadow>
           </value>
           <value name="OID1">
             <shadow type="field_oid" id="|x7[eyAb5CTd#xqO[-fw">
               <field name="oid">default</field>
             </shadow>
           </value>
           <statement name="STATEMENT">
             <block type="controls_if" id="O+s*-8K%,U7#}qIu-hzk">
               <mutation elseif="1"></mutation>
               <value name="IF0">
                 <block type="logic_operation" id=".me!/:hI|r6@$!?+p9V/" inline="false">
                   <field name="OP">OR</field>
                   <value name="A">
                     <block type="get_value" id=",S:v2lUu{IR^%0t+rih=">
                       <field name="ATTR">val</field>
                       <field name="OID">ID auswählen</field>
                     </block>
                   </value>
                   <value name="B">
                     <block type="get_value" id="][N?z:g{S^I1u+v_h+(#">
                       <field name="ATTR">val</field>
                       <field name="OID">ID auswählen</field>
                     </block>
                   </value>
                 </block>
               </value>
               <statement name="DO0">
                 <block type="controls_if" id="d3Tz_/hG=%R:Qn6kY.cx">
                   <value name="IF0">
                     <block type="get_value" id="=enUGA9^W#ABh,Nw9xvf">
                       <field name="ATTR">val</field>
                       <field name="OID">ID auswählen</field>
                     </block>
                   </value>
                   <statement name="DO0">
                     <block type="timeouts_settimeout" id="f(s=|,G?WEI$;H6:L|d7">
                       <field name="NAME">timeout</field>
                       <field name="DELAY">20</field>
                       <field name="UNIT">sec</field>
                       <statement name="STATEMENT">
                         <block type="control" id="VjX4O8rkNBY@tW4tDnM.">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                           <field name="OID">Object ID</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="logic_boolean" id="xQQ!Dyh^]Zm/IrlzY/76">
                               <field name="BOOL">FALSE</field>
                             </block>
                           </value>
                         </block>
                       </statement>
                     </block>
                   </statement>
                 </block>
               </statement>
               <value name="IF1">
                 <block type="variables_get" id="/qzk.Q.P_9qaZ/glXZnH">
                   <field name="VAR" id="timeout" variabletype="timeout">timeout</field>
                 </block>
               </value>
               <statement name="DO1">
                 <block type="timeouts_cleartimeout" id=".OH^[`Z.~(D)~z!,]fL7">
                   <field name="NAME">timeout</field>
                   <next>
                     <block type="control" id=",|/[GCXd$v=#XW`Y:o;g">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                       <field name="OID">Object ID</field>
                       <field name="WITH_DELAY">FALSE</field>
                       <value name="VALUE">
                         <block type="logic_boolean" id="_|9oXAG8=?Fqb1jHa%jm">
                           <field name="BOOL">TRUE</field>
                         </block>
                       </value>
                     </block>
                   </next>
                 </block>
               </statement>
             </block>
           </statement>
         </block>
        </xml>
        

        Slowman 1 Reply Last reply Reply Quote 1
        • Slowman
          Slowman @paul53 last edited by

          @paul53

          Vielen Dank.

          Ausschalten klappt, aber wenn der Kontakt wieder geschlossen ist, schaltet die Lampe (Testgerät statt Klima) nicht wieder ein.

          Screenshot_2020-07-12 javascript - ioBroker(2).png

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

            @Slowman sagte:

            schaltet die Lampe (Testgerät statt Klima) nicht wieder ein.

            Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags. Die erste Zeile muss so aussehen:

            var timeout;
            
            
            1 Reply Last reply Reply Quote 0
            • Slowman
              Slowman last edited by

              @paul53

              var timeout;
              
              
              on({id: new RegExp('deconz\\.0\\.Sensors\\.10\\.open' + "|" + 'deconz\\.0\\.Sensors\\.9\\.open'), change: "ne"}, function (obj) {
                  if (getState("deconz.0.Sensors.10.open").val || getState("deconz.0.Sensors.9.on").val) {
                  if (getState("deconz.0.Lights.2.on").val) {
                    timeout = setTimeout(function () {
                      setState("deconz.0.Lights.2.on"/*WZ Fensterlampe on*/, false);
                    }, 20000);
                  }
                } else if (timeout) {
                  (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                  setState("deconz.0.Lights.2.on"/*WZ Fensterlampe on*/, true);
                }
              });
              
              
              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Slowman last edited by

                @Slowman
                Kann keinen Fehler entdecken: Es sollte so funktionieren.

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

                  Mom... vielleicht habe ich mich blöd ausgedrückt.

                  Jetzt funktioniert, wenn Kontakt geschlossen, Lampe leuchtet

                  • Kontakt geöffnet Lampe geht nach 20sek aus - geht
                  • Kontakt schließt wieder, Kontrolle war Lampe an, dann wieder Lampe anschalten - geht nicht
                  • wenn Lampe aus war und Kontakt wird geschaltet, keine Änderung an der Lampe machen
                  paul53 2 Replies Last reply Reply Quote 0
                  • paul53
                    paul53 @Slowman last edited by paul53

                    @Slowman sagte:

                    Kontakt schließt wieder, Kontrolle war Lampe an, dann wieder Lampe anschalten - geht nicht

                    Habe es gerade bei mir getestet: Es funktioniert wie es soll.

                    Unbenannt.JPG

                    Es müssen beide Kontakte auf false stehen, damit wieder eingeschaltet wird.

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

                      @Slowman
                      Ergänzung: Damit nicht ein zweiter Timer gestartet wird, wenn innerhalb der 20 s das zweite Fenster geöffnet wird, sollte die Abfrage zum Ausschalten erweitert werden:

                      Blockly_temp.JPG

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

                        @paul53 sagte:

                        Kann keinen Fehler entdecken

                        Habe doch einen Fehler entdeckt:

                            if (getState("deconz.0.Sensors.10.open").val || getState("deconz.0.Sensors.9.on").val) {
                        

                        on ist nicht open !

                        1 Reply Last reply Reply Quote 1
                        • Slowman
                          Slowman last edited by

                          @paul53

                          Danke, versteh die Sache jetzt nicht, auf on false eintragen?
                          Melde mich abends erst wieder.

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

                            @Slowman sagte:

                            auf on false eintragen?

                            Nein, den richtigen Datenpunkt "SZ Fenster Sensor open" zuweisen.

                            1 Reply Last reply Reply Quote 1
                            • Slowman
                              Slowman last edited by

                              @paul53

                              Vielen Dank, ja funktioniert, wenn man alle Datenpunkte ordentlich setzt 😊 🙄

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

                                Jetzt habe ich alles Punkte geändert auf die Klimaanlage "operate", aber leider schaltet er den Punkt nicht. Aber ich glaube im Adapter panasonic-comfort-cloud ist ein Fehler drin, denn er liest den Punkt nicht aus, ob die Klimaanlage an ist bzw. aus. bleibt bei Steuerung mit dem Handy bzw. FB bei off im ioBroker stehen. 😕

                                Screenshot_2020-07-13 objects - ioBroker.png

                                {
                                  "type": "state",
                                  "common": {
                                    "role": "state",
                                    "states": {
                                      "0": "Off",
                                      "1": "On"
                                    },
                                    "write": true,
                                    "def": 0,
                                    "name": "operate",
                                    "read": true
                                  },
                                  "native": {},
                                  "from": "system.adapter.panasonic-comfort-cloud.0",
                                  "user": "system.user.admin",
                                  "ts": 1593334624681,
                                  "_id": "panasonic-comfort-cloud.0.Schlafzimmer.operate",
                                  "acl": {
                                    "object": 1636,
                                    "state": 1636,
                                    "owner": "system.user.admin",
                                    "ownerGroup": "system.group.administrator"
                                  }
                                }
                                
                                M 1 Reply Last reply Reply Quote 0
                                • M
                                  mkoke @Slowman last edited by

                                  @Slowman: Habe dasselbe Problem. Gibt es mittlerweile eine Lösung?

                                  Slowman 1 Reply Last reply Reply Quote 0
                                  • Slowman
                                    Slowman @mkoke last edited by

                                    @mkoke

                                    Habe dies erstmal zu den Akten gelegt. Also noch keine Lösung gefunden.

                                    M 1 Reply Last reply Reply Quote 0
                                    • M
                                      maxp @Slowman last edited by

                                      Wie habt Ihr den Comfort Cloud Adapter überhaupt ans Fliegen gekriegt?
                                      Habe mir für ioBroker eine eigene Panasonic ID erstellt. Laut Log meldet sich der Adapter auch erfolgreich an. Aber es werden keine Objekte angelegt.

                                      Slowman 1 Reply Last reply Reply Quote 0
                                      • Slowman
                                        Slowman @maxp last edited by Slowman

                                        @maxp

                                        Also Einrichten ging bei mir, auch das manuelle Schalten geht, aber leider nicht im Blockly.
                                        Einfach die Daten eintragen, die man auch für die Cloud nimmt.

                                        Screenshot_2020-09-29 objects - ioBroker.png

                                        Schreibe doch den Ersteller (Marc) doch mal an, wenn es nicht mehr funzt.
                                        Vielleicht setze ich mich die Tage auch noch mal ran.

                                        M 2 Replies Last reply Reply Quote 0
                                        • M
                                          maxp @Slowman last edited by

                                          @Slowman
                                          Über die Objekte im Baum würde ich mich schon freuen. Blockly brauche ich nicht.
                                          Habe Marc mal angeschrieben.

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            maxp @Slowman last edited by

                                            @Slowman
                                            Wie hast Du denn den Adapter installiert? Von GitHub, custom Link?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            965
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            25
                                            1776
                                            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