Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Nochmal Waschmaschine (Blockly)

    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

    Nochmal Waschmaschine (Blockly)

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

      Wähle Deine Datenpunkte nochmal im Blockly explizit aus.

      Vielleicht ist bei dem ganz Ex- und Import was schief gelaufen.

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

        EDIT: Es gab noch Probleme beim Einschalten einiger Geräte. Neue Version weiter unten.

        Bild und Export habe ich hier gelöscht.

        Hallo

        Ich wollte sowieso mal unsere Waschmaschine überwachen.

        Habe das alles mal etwas zusammengerafft.

        ACHTUNG!!

        Die Logik hat sich zum Blockly von totocotonio geändert.

        Bei mir geht das über die Variable "WaschmaschineAN".

        Das hat eine umgekehrte Logik zu "WaschmaschineFertig"

        (WaschmaschineFertig = wahr bedeutet bei mir WaschmaschineAN = unwahr)

        "WaschmaschineAN" dient bei mir nur der Visualisierung.

        Die POWER Werte und Länge des Timeouts muss man an seine Waschmaschine anpassen.

        Habe auch noch ein bisschen aus der "Trickkiste" reingepackt. Ihr wollt ja lernen. 😉

        Grüße

        1 Reply Last reply Reply Quote 0
        • Dutchman
          Dutchman Developer Most Active Administrators last edited by

          Zur Erklärung der trickkiste: die variabelen Wert und vorheriger Wert die rantanplan Benutzt sind die Werte des triggers.

          Dadurch erspart man sich den Block "Wert von object xxx"

          –-----------------------

          Send from mobile device

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

            gelöscht.

            Rantanplan hat was neues gemacht

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

              Hallo Rantanplan,

              ich werde verrückt.

              Ich habe dein Blockly eingebaut, angepasst.

              Timer auf eine Miunte gstellt.

              Fön eingebaut :lol:

              Beim Start des Föns Meldung: läuft. OK

              Fön aus

              1 Minute Später Meldung: fertig. OK

              Und jetzt 2 Minuten Später die Meldung : Läuft 😢

              Standby Steckdose schwankt mit fön drin zwischen

              0.03 und 0.04W

              Wo habe ich den da meinen Denkfehler

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

                @totocotonio:

                Wo habe ich denn da den Denkfehler gemacht. Weil der Fön direkt wieder auf die unter 0.04 Watt geht und

                die Leistung kleiner 2.5 watt ist. `

                Hast Du oben mein "<0.07" auf "<0.04" gestellt?

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

                  Hi,

                  0,05 , denn wenn ich ihn auf 0.04 Stelle ändert sich der State gar nicht

                  Auf kleiner = 0.04 W scheint es zu gehen.

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

                    @totocotonio:

                    Hi,

                    0,05 , denn wenn ich ihn auf 0.04 Stelle ändert sich der State gar nicht `

                    Steckdose aus = 0 W

                    Steckdose ein wenn Lüfter angeschlossen = ? W

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

                      Habe jetzt auch mal unterschiedliche Geräte an den Funkstecker gehängt.

                      Unterschiedliche Einschaltspannungen ist ein Problem. Kann man sehr schön in der WEBUI der CCU sehen.

                      Wenn ich mir überlege wie viel unterschiedliche Waschmaschienen es gibt. :roll:

                      Ich denk mir was anderes aus.

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

                        Noch ein Versuch. (sonst wird wieder mit der Hand gewaschen 😄 )

                        Ich habe jetzt einige Geräte an meiner Funksteckdose angeschlossen.

                        Problem waren die Spannungsspitzen, die einige Geräte erzeugten und dann nach kurzer Zeit auf den StandBy Level gingen.

                        Dafür habe ich nun einen Timeout eingesetzt.

                        Beispiel jetzt ohne viele Worte.

                        (Ich muss zum Essen. Sonst muss ich die nächsten 4 Wochen waschen :lol: )
                        147_beispiel.png

                        Export.

                        ! ````
                        <xml xmlns="http://www.w3.org/1999/xhtml"><block type="variables_set" id="pE;t15K()B2=@=,RY5D_" x="-713" y="-137"><field name="VAR">GrenzWertInWatt</field>
                        <value name="VALUE"><block type="math_number" id="OB=)nO2pXH:1HNwm(JpG"><field name="NUM">2.5</field></block></value>
                        <next><block type="comment" id="|2tm%?,yK/o3_AA)J{ah"><field name="COMMENT">Steckdose überwachen</field>
                        <next><block type="on_ext" id="n)UklDS{=z!-#^HfL@Ly"><mutation items="1"></mutation>
                        <field name="CONDITION">ne</field>

                                <value name="OID0"><shadow type="field_oid" id="@Uda~stBc8L/=2DFzrvo"><field name="oid">hm-rpc.0.LEQ0661170.2.POWER</field></shadow></value> 
                                <statement name="STATEMENT"><block type="controls_if" id="=n/Jfc]x(Ib[NRPJZ%7X"><mutation elseif="3"></mutation>
                                    <value name="IF0"><block type="logic_compare" id="?m1STicTe5=N-/f:Ji2s"><field name="OP">EQ</field>
                                        <value name="A"><block type="on_source" id="QjKQBx`PdHENcy)eGM,5"><field name="ATTR">oldState.val</field></block></value> 
                                        <value name="B"><block type="math_number" id=":(p2PWPzD2(~R-q9upeS"><field name="NUM">0</field></block></value></block></value> 
                                    <statement name="DO0"><block type="timeouts_settimeout" id="v[ws-ZxN:-nNl,kERlT8"><field name="NAME">Einschaltverzögerung</field>
                                        <field name="DELAY">10</field>
                                        <field name="UNIT">sec</field>
                                        <statement name="STATEMENT"><block type="comment" id="UyUTD{W;Ef;u2!)%y5h|"><field name="COMMENT">Funkstecker wurde eingeschaltet</field>
                                            <next><block type="comment" id="^wiM;VZ*5RLS-+SMsG7?"><field name="COMMENT">Einschaltleistung abfangen</field></block></next></block></statement></block></statement> 
                                    <value name="IF1"><block type="logic_operation" id="s(;r=_ekdU*dF=_Tsrbb" inline="false"><field name="OP">AND</field>
                                        <value name="A"><block type="logic_compare" id="d_lZY_VlNaa40/Pob=Um"><field name="OP">GT</field>
                                            <value name="A"><block type="on_source" id="`c4GU.`+o2_G+Vdxq;n/"><field name="ATTR">state.val</field></block></value> 
                                            <value name="B"><block type="variables_get" id="FD[JnQcwajuYLgGmTX`."><field name="VAR">GrenzWertInWatt</field></block></value></block></value> 
                                        <value name="B"><block type="logic_compare" id="zC,(}TPXAvX2yd^k`W._"><field name="OP">EQ</field>
                                            <value name="A"><block type="get_value" id=";a;[[bw/v2oQnG9DHZIn"><field name="ATTR">val</field>
                                                <field name="OID">HomeStatus.0.Sonstiges.WaschmaschineAN</field></block></value> 
                                            <value name="B"><block type="logic_boolean" id=";a5=vVD`86hstjR{4y~+"><field name="BOOL">FALSE</field></block></value></block></value></block></value> 
                                    <statement name="DO1"><block type="control" id="S6URE:3#}}.v#e!X.A4D"><mutation delay_input="false"></mutation>
                                        <field name="OID">HomeStatus.0.Sonstiges.WaschmaschineAN</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE"><block type="logic_boolean" id="QqpwRU?xP?P=bvS9HS[1"><field name="BOOL">TRUE</field></block></value> 
                                        <next><block type="procedures_callnoreturn" id="=!*WIp};Ta`)XeMMk,iR"><mutation name="Melden"><arg name="Meldetext"></arg></mutation> 
                                            <value name="ARG0"><block type="text" id="{QcAY3oi:,FGG.929?TS"><field name="TEXT">Waschmaschine LÄUFT</field></block></value></block></next></block></statement> 
                                    <value name="IF2"><block type="logic_compare" id="Yuagp|w@)mC+asceXLLu"><field name="OP">GT</field>
                                        <value name="A"><block type="on_source" id="P(tu4AS{);E?w-p?]{1q"><field name="ATTR">state.val</field></block></value> 
                                        <value name="B"><block type="variables_get" id="ou6,Zi?vbs[;{]@93U`!"><field name="VAR">GrenzWertInWatt</field></block></value></block></value> 
                                    <statement name="DO2"><block type="comment" id="H90l#sdGb5I}Wqsbz=9s"><field name="COMMENT">Timer stoppen</field>
                                        <next><block type="procedures_callnoreturn" id="zo=cPu~=j#pus6bWVaJl"><mutation name="checkFertig"><arg name="parameter"></arg></mutation> 
                                            <value name="ARG0"><block type="logic_boolean" id="1SYbGS^3xkqD/Uj?{bvJ"><field name="BOOL">FALSE</field></block></value></block></next></block></statement> 
                                    <value name="IF3"><block type="logic_operation" id="_@|YxZPYI(z3![Q=ZbX4" inline="false"><field name="OP">AND</field>
                                        <value name="A"><block type="logic_compare" id="Ge6FX#6b5WYoc;wF%%iH"><field name="OP">LT</field>
                                            <value name="A"><block type="on_source" id="0Vw33+AwVD~={g{aHa~d"><field name="ATTR">state.val</field></block></value> 
                                            <value name="B"><block type="variables_get" id="NufLwbvZR1.fEmqJNOTZ"><field name="VAR">GrenzWertInWatt</field></block></value></block></value> 
                                        <value name="B"><block type="logic_compare" id="X[1t=zl25bQ]aHT[:`,8"><field name="OP">EQ</field>
                                            <value name="A"><block type="get_value" id="4WFkiPOYU?#zQhOL)0u("><field name="ATTR">val</field>
                                                <field name="OID">HomeStatus.0.Sonstiges.WaschmaschineAN</field></block></value> 
                                            <value name="B"><block type="logic_boolean" id="?jrLY7K)k;1?sa!Ef{VO"><field name="BOOL">TRUE</field></block></value></block></value></block></value> 
                                    <statement name="DO3"><block type="comment" id="}Q59!:8+Dc~b~LwZhq-("><field name="COMMENT">Timer starten</field>
                                        <next><block type="procedures_callnoreturn" id=";MD%1IF[[H29g_f=vvYH"><mutation name="checkFertig"><arg name="parameter"></arg></mutation> 
                                            <value name="ARG0"><block type="logic_boolean" id="/yX*,4aU!HHUO#/2U-NR"><field name="BOOL">TRUE</field></block></value></block></next></block></statement></block></statement></block></next></block></next></block> 
                        

                        <block type="procedures_defnoreturn" id="l1.gmYNTt2#Ww;_Stf+" x="-62" y="-37"><mutation><arg name="Meldetext"></arg></mutation> <field name="NAME">Melden</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"><block type="debug" id="SYQu;@N0JgE!W~[JZcZ_"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="4+J8c.^+FrkDV^]dAda-"><field name="TEXT">test</field></shadow> <block type="variables_get" id="KuX^Hf4/i6gnp|rmq9WR"><field name="VAR">Meldetext</field></block></value> <next><block type="telegram" id="wH+*?1;8L0VjK1Z7kg[i"><value name="MESSAGE"><shadow type="text" id="%5P)E^1xJK@PFTHr7#jG"><field name="TEXT">text</field></shadow> <block type="variables_get" id="b+NYSEXrl]fx5Ms:F4Jp"><field name="VAR">Meldetext</field></block></value></block></next></block></statement></block> <block type="procedures_defnoreturn" id="sDP?w~)oJD}Z95[_?EY0" x="-62" y="163"><mutation><arg name="parameter"></arg></mutation> <field name="NAME">checkFertig</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"><block type="comment" id="V2@7jqv5RTl+}q}xfEsZ"><field name="COMMENT">Timer stoppen</field> <next><block type="timeouts_cleartimeout" id="y7iPL;/^^,*);q|%Pk6;"><field name="NAME">timeout</field> <next><block type="controls_if" id="*DX-*|5t*M5.|5Qw0p76"><value name="IF0"><block type="logic_compare" id="[-Hs2uzeFf6L7XO4:d6g"><field name="OP">EQ</field> <value name="A"><block type="variables_get" id="uT*6f!Y:?Sivq1F-y;7_"><field name="VAR">parameter</field></block></value> <value name="B"><block type="logic_boolean" id="w?1)4.uK{/ey3NJ)NjH:"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO0"><block type="comment" id="fUTRz:hy1K[t@GmyY:"><field name="COMMENT">Timer starten</field>
                        <next><block type="timeouts_settimeout" id="k%sy5:QdTn+3f@{OZshs"><field name="NAME">timeout</field>
                        <field name="DELAY">3</field>
                        <field name="UNIT">min</field>
                        <statement name="STATEMENT"><block type="control" id="UOquZ.)w|Dv~5_@iC
                        HO"><mutation delay_input="false"></mutation>
                        <field name="OID">HomeStatus.0.Sonstiges.WaschmaschineAN</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE"><block type="logic_boolean" id="ttQizIf!/AB*HLfb9Kw1"><field name="BOOL">FALSE</field></block></value>
                        <next><block type="procedures_callnoreturn" id="HHrpaU=vtt6v1JInTG~l"><mutation name="Melden"><arg name="Meldetext"></arg></mutation>
                        <value name="ARG0"><block type="text" id="leE4:W;JI@,LD;n0Gs6r"><field name="TEXT">Waschmaschine FERTIG</field></block></value></block></next></block></statement></block></next></block></statement></block></next></block></next></block></statement></block></xml>

                        ! ````

                        Grüße

                        1 Reply Last reply Reply Quote 0
                        • Dutchman
                          Dutchman Developer Most Active Administrators last edited by

                          Dein Block bei eeinschaltverzögerung ist Lehr führt also nichts aus ?

                          –-----------------------

                          Send from mobile device

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

                            @Dutchman:

                            Dein Block bei eeinschaltverzögerung ist Lehr führt also nichts aus ? `

                            Ja, soll ja nur eine Zeit überbrücken. Also nur eine kurze Programmpause.

                            Manche Geräte gehen beim Einstecken/Einschalten bis zu 10W nach oben und gehen dann nach ein paar Sekunden in den StandBy runter.

                            Diese Zeit soll überbrückt werden.

                            Grüße

                            1 Reply Last reply Reply Quote 0
                            • Dutchman
                              Dutchman Developer Most Active Administrators last edited by

                              @rantanplan:

                              @Dutchman:

                              Dein Block bei eeinschaltverzögerung ist Lehr führt also nichts aus ? `

                              Ja, soll ja nur eine Zeit überbrücken. Also nur eine kurze Programmpause.

                              Manche Geräte gehen beim Einstecken/Einschalten bis zu 10W nach oben und gehen dann nach ein paar Sekunden in den StandBy runter.

                              Diese Zeit soll überbrückt werden.

                              Grüße `

                              ja ok verstehe die logic aber nicht, was ueberbruckst du da genau ?

                              So wie ich es jetzt sehe startest du eine verzoegerung die nichts ausfuehrt, also wofuer die verzoegerung ?

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

                                Power = 0 W

                                Gerät einstecken oder Funkstecker einschalten.

                                Power = 15 W

                                falls vorheriger Wert = 0 mache 10 Sekunden NICHTS.

                                In der Zeit geht Power wieder auf 0.5 W

                                Alles ist gut und NICHTS ist passiert oder wurde ausgeführt.

                                Jetzt wird Gerät zum Waschen eingeschaltet

                                Power > 2.5 W

                                Dann kommt der normale Ablauf.

                                Habe ich es verständlich erklärt?

                                Grüße

                                1 Reply Last reply Reply Quote 0
                                • Dutchman
                                  Dutchman Developer Most Active Administrators last edited by

                                  @rantanplan:

                                  Power = 0 W

                                  Gerät einstecken oder Funkstecker einschalten.

                                  Power = 15 W

                                  falls vorheriger Wert = 0 mache 10 Sekunden NICHTS.

                                  In der Zeit geht Power wieder auf 0.5 W

                                  Alles ist gut und NICHTS ist passiert oder wurde ausgeführt.

                                  Jetzt wird Gerät zum Waschen eingeschaltet

                                  Power > 2.5 W

                                  Dann kommt der normale Ablauf.

                                  Habe ich es verständlich erklärt?

                                  Grüße `

                                  verstehen, dan kannst du den delay aber weglassen das nutzt nichts 🙂

                                  was jetzt passiert:

                                  wen voriger wert = 0 ==> Mache garnichts (das wuerde auch so passieren ohne die 10sek einschaltverzoegerung er macht einfach nichts weil voriger wert 0 war)

                                  wen wert power gaendert wird und voriger wert nich 0 war dan sonst < 2.5 passiert nichts, bei > 2.5 und waschmachine unwahr geht die logic weiter.

                                  Ergo der timeout 10sec ist nutzlos, die einfache IF abfrage voriger wert = 0 ohne eine ausloese baustein wuerde genau dasselber erreichen.

                                  Es aere anders wen du in diesen block eine variable einen status gibts welche du spaeter abfragen willst.

                                  Hoffe ist verstaendlich was ich meine

                                  ~Dutch

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

                                    @Dutchman:

                                    verstehen, dan kannst du den delay aber weglassen das nutzt nichts 🙂

                                    was jetzt passiert:

                                    wen voriger wert = 0 ==> Mache garnichts (das wuerde auch so passieren ohne die 10sek einschaltverzoegerung er macht einfach nichts weil voriger wert 0 war)

                                    wen wert power gaendert wird und voriger wert nich 0 war dan sonst < 2.5 passiert nichts, bei > 2.5 und waschmachine unwahr geht die logic weiter.

                                    Ergo der timeout 10sec ist nutzlos, die einfache IF abfrage voriger wert = 0 ohne eine ausloese baustein wuerde genau dasselber erreichen.

                                    Es aere anders wen du in diesen block eine variable einen status gibts welche du spaeter abfragen willst.

                                    Hoffe ist verstaendlich was ich meine

                                    ~Dutch `

                                    Ja, wenn alles so einfach wäre. 😉

                                    Ich hatte nur einfacher beschrieben.

                                    Ich hatte doch geschrieben, dass ich mehrere Geräte angeschlossen hatte.

                                    Und fast alle reagieren unterschiedlich.

                                    Falls Du eine Funkmesssteckdose hast, probiere es mal aus.

                                    0 -> 10 -> 6 -> 8 -> 0.5 (Zahlen nur Beispiele)

                                    Am interessantesten war bei mir ein Ventilator mit Heizung von Dyson.

                                    Aber spätestens nach 10 Sekunden waren alle auf StandBy.

                                    Keine Ahnung was heutige Waschmaschinen intern alles nacheinander einschalten.

                                    Nach 10 Sekunden sollte aber alles erledigt sein.

                                    Wenn nicht muss die Pause erhöht werden.

                                    Also nicht nutzlos 😉

                                    Bin mal gespannt ob es bei totocotonio klappt.

                                    Aber wahrscheinlich wäscht seine Frau heute nicht mehr. 😄

                                    Grüße

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

                                      Also bei mir klappt es 😄

                                      Musste nur Parameter anpassen.

                                      "GrenzWertWatt" ist bei mir 4

                                      Im StandBy wechselt auch die Wattzahl.

                                      Da war 3 Min. Wartezeit für die Fertigmeldung zu lang.

                                      Habe ich auf 40 Sek. gesetzt.

                                      Frau ist begeistert 😄

                                      Parameter muss jeder für seine Waschmaschine anpassen.

                                      Werte vom Funkstecker lassen sich sehr gut über die WebUI der CCU beobachten.

                                      Grüße

                                      1 Reply Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators last edited by

                                        Ihr habt mich jetzt total abgehängt.

                                        Wieso macht ihr so einen Aufwand, für etwas, das die Messteckdose von Haus aus kann?

                                        sagt jetzt bitte nicht: "weil man es kann!" :lol:

                                        @rantanplan:

                                        Parameter muss jeder für seine Waschmaschine anpassen. `
                                        das gilt auch für die Einstellung des Entscheidungswert in der Messsteckdose.

                                        Danach braucht man nur noch:

                                        WENN Entscheidungswert = 0

                                        DANN "Waschmaschine fertig"

                                        Gruß

                                        Rainer

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

                                          @Homoran:

                                          Wieso macht ihr so einen Aufwand, für etwas, das die Messteckdose von Haus aus kann? `
                                          Damit kommst Du jetzt 😄 😄 😄

                                          Muss ich mir mal anschauen.

                                          Aber wir lieben doch die Herausforderung :lol:

                                          Grüße

                                          1 Reply Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators last edited by

                                            @rantanplan:

                                            Damit kommst Du jetzt `

                                            Nee schon Seiten vorher!

                                            http://forum.iobroker.net/viewtopic.php … =20#p93744

                                            deswegen habe ich es nicht verstanden, dass ihr hier immer weitermacht.

                                            @rantanplan:

                                            Aber wir lieben doch die Herausforderung `
                                            Also doch weil es geht 😉

                                            @rantanplan:

                                            Muss ich mir mal anschauen. `
                                            Bei Fragen fragen!

                                            Gruß

                                            Rainer

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            898
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            18
                                            153
                                            26103
                                            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