Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Zeitsaugen als Blockly

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    484

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    398

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    981

Zeitsaugen als Blockly

Geplant Angeheftet Gesperrt Verschoben Blockly
blocklyjavascript
11 Beiträge 4 Kommentatoren 798 Aufrufe 2 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • H helfi9999

    Hallo zusammen,

    ich möchte gerne wenn wir beide nicht zuhause sind das der Roboter 1x saugt.
    Sollte einer zwischenzeitlich nach Hause kommen und dann wieder gehen soll er nicht nochmal saugen.

    Bekomme es nicht hin jedesmal wenn wir nicht anwesend sind fängt er an zu saugen.
    Kann mir einer vielleicht behilflich sein das richtig einzustellen??


    Zeitsaugen.png

    mickymM Offline
    mickymM Offline
    mickym
    Most Active
    schrieb am zuletzt editiert von
    #2

    @helfi9999 Meines Erachtens ist die Logik halt nicht vollständig. Das Wiederholen für 1mal kann man sich in meinen Augen auch sparen, da ohne die Schleife das ja auch nur 1 mal abgearbeitet wird. Du musst halt noch eine Variable mit Zeitstempel einbauen, die zusätzlich zu Deinen Wochentagen und Uhrzeit abgefragt wird. Diesen setzt Du am Ende und frägst am Anfang ab - ob es der gleiche Tag war. Wenn also am gleichen Tag dieses Unterprogramm nochmal getriggert wird, blockierst Du es.

    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

    CodierknechtC 1 Antwort Letzte Antwort
    0
    • mickymM mickym

      @helfi9999 Meines Erachtens ist die Logik halt nicht vollständig. Das Wiederholen für 1mal kann man sich in meinen Augen auch sparen, da ohne die Schleife das ja auch nur 1 mal abgearbeitet wird. Du musst halt noch eine Variable mit Zeitstempel einbauen, die zusätzlich zu Deinen Wochentagen und Uhrzeit abgefragt wird. Diesen setzt Du am Ende und frägst am Anfang ab - ob es der gleiche Tag war. Wenn also am gleichen Tag dieses Unterprogramm nochmal getriggert wird, blockierst Du es.

      CodierknechtC Offline
      CodierknechtC Offline
      Codierknecht
      Developer Most Active
      schrieb am zuletzt editiert von
      #3

      @mickym sagte in Zeitsaugen als Blockly:

      @helfi9999 Meines Erachtens ist die Logik halt nicht vollständig. Das Wiederholen für 1mal kann man sich in meinen Augen auch sparen, da ohne die Schleife das ja auch nur 1 mal abgearbeitet wird. Du musst halt noch eine Variable mit Zeitstempel einbauen, die zusätzlich zu Deinen Wochentagen und Uhrzeit abgefragt wird. Diesen setzt Du am Ende und frägst am Anfang ab - ob es der gleiche Tag war. Wenn also am gleichen Tag dieses Unterprogramm nochmal getriggert wird, blockierst Du es.

      Oder man nimmt eine globale Bool-Variable (oder noch besser: Einen eigenen DP) die beim Start des Saugvorgangs gesetzt und in der Nacht zurückgesetzt wird.

      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
      HmIP|ZigBee|Tasmota|Unifi
      Zabbix Certified Specialist
      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

      mickymM 1 Antwort Letzte Antwort
      0
      • CodierknechtC Codierknecht

        @mickym sagte in Zeitsaugen als Blockly:

        @helfi9999 Meines Erachtens ist die Logik halt nicht vollständig. Das Wiederholen für 1mal kann man sich in meinen Augen auch sparen, da ohne die Schleife das ja auch nur 1 mal abgearbeitet wird. Du musst halt noch eine Variable mit Zeitstempel einbauen, die zusätzlich zu Deinen Wochentagen und Uhrzeit abgefragt wird. Diesen setzt Du am Ende und frägst am Anfang ab - ob es der gleiche Tag war. Wenn also am gleichen Tag dieses Unterprogramm nochmal getriggert wird, blockierst Du es.

        Oder man nimmt eine globale Bool-Variable (oder noch besser: Einen eigenen DP) die beim Start des Saugvorgangs gesetzt und in der Nacht zurückgesetzt wird.

        mickymM Offline
        mickymM Offline
        mickym
        Most Active
        schrieb am zuletzt editiert von mickym
        #4

        @codierknecht sagte in Zeitsaugen als Blockly:

        Oder man nimmt eine globale Bool-Variable (oder noch besser: Einen eigenen DP) die beim Start des Saugvorgangs gesetzt und in der Nacht zurückgesetzt wird.

        Ja dann braucht man aber dafür wieder einen eigenen Trigger UND ein Datenpunkt der zurücksetzt. :( ;) . Obwohl der Datenpunkt (auch ohne Zurücksetzen) sinnvoll ist, wenn wirklich mal der Strom ausfallen sollte - kommt darauf an, wie häufig das in Zukunft wird. ;)

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        1 Antwort Letzte Antwort
        0
        • H helfi9999

          Hallo zusammen,

          ich möchte gerne wenn wir beide nicht zuhause sind das der Roboter 1x saugt.
          Sollte einer zwischenzeitlich nach Hause kommen und dann wieder gehen soll er nicht nochmal saugen.

          Bekomme es nicht hin jedesmal wenn wir nicht anwesend sind fängt er an zu saugen.
          Kann mir einer vielleicht behilflich sein das richtig einzustellen??


          Zeitsaugen.png

          G Offline
          G Offline
          guergen
          schrieb am zuletzt editiert von
          #5

          @helfi9999 Nimm als Trigger die Zeit. Wenn dann einer daheim sein sollte, soll das skript sich merken, dass der Staubsauger heute saugen sollte, es aber nicht ging, weil jmd da war.
          Dann den Anwesenden alle 10-15 Minuten abfragen; falls keiner mehr da ist, eiinfach den Sauger losschicken

          H 1 Antwort Letzte Antwort
          0
          • G guergen

            @helfi9999 Nimm als Trigger die Zeit. Wenn dann einer daheim sein sollte, soll das skript sich merken, dass der Staubsauger heute saugen sollte, es aber nicht ging, weil jmd da war.
            Dann den Anwesenden alle 10-15 Minuten abfragen; falls keiner mehr da ist, eiinfach den Sauger losschicken

            H Offline
            H Offline
            helfi9999
            schrieb am zuletzt editiert von helfi9999
            #6

            @guergen @mickym @Codierknecht hallo,
            er soll nur einmal saugen wenn niemand zuhause ist. Kommt jemand wieder und geht später nochmals weg soll er nicht nochmal saugen. Habe mich eventuell nicht richtig ausgedrückt.

            Intel NUC mit Iobroker

            G CodierknechtC 2 Antworten Letzte Antwort
            0
            • H helfi9999

              @guergen @mickym @Codierknecht hallo,
              er soll nur einmal saugen wenn niemand zuhause ist. Kommt jemand wieder und geht später nochmals weg soll er nicht nochmal saugen. Habe mich eventuell nicht richtig ausgedrückt.

              G Offline
              G Offline
              guergen
              schrieb am zuletzt editiert von guergen
              #7

              @helfi9999 Hab ich schon verstanden, ich mache das mit einem Reminder! Der Zeitpunkt wird bei mir genau festgelegt, z.B. Mittwoch 10 Uhr. Bin ich dann daheim, setze ich einen DP als Reminder und es wird alle 10 Minuten abgefragt, ob ich immer noch daheim bin. falls ja, bleibt der DP bestehen, falls nicht startet der Sauger und der DP wird gelöscht:
              Hier mein Beispiel für Sonntag

              0fb19428-6497-4be0-a372-23929a7d893c-grafik.png

              <block xmlns="https://developers.google.com/blockly/xml" type="schedule_create" id="G+-T./;TP1*|)*.0KQOQ" x="362" y="-1212">
               <field name="NAME">Sonntag</field>
               <value name="SCHEDULE">
                 <shadow xmlns="http://www.w3.org/1999/xhtml" type="field_cron" id="DlQzK7|YN^Ab,4JH^b+?">
                   <field name="CRON">* * * * *</field>
                 </shadow>
                 <block type="cron_builder" id="FGUQjG.6G:ube(A?EsTS">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" seconds="false" as_line="false"></mutation>
                   <field name="LINE">FALSE</field>
                   <field name="WITH_SECONDS">FALSE</field>
                   <value name="DOW">
                     <shadow type="text" id="GBmhwa6=%{b+Me_7]s7g">
                       <field name="TEXT">0</field>
                     </shadow>
                   </value>
                   <value name="MONTHS">
                     <shadow type="text" id="jmeZA+`dffX#9~*m-%Sd">
                       <field name="TEXT">*</field>
                     </shadow>
                   </value>
                   <value name="DAYS">
                     <shadow type="text" id="8Jw8Cq??X^8~rvFD6%O3">
                       <field name="TEXT">*</field>
                     </shadow>
                   </value>
                   <value name="HOURS">
                     <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="T058NR!#8lpp,y9h1R6e">
                       <field name="TEXT">*</field>
                     </shadow>
                     <block type="lists_getIndex" id=".j^P}`OZG=~?7b5SSbR0">
                       <mutation statement="false" at="true"></mutation>
                       <field name="MODE">GET</field>
                       <field name="WHERE">FROM_START</field>
                       <value name="VALUE">
                         <block type="lists_split" id="u.e*_S{w7sdO8qLV]qE,">
                           <mutation mode="SPLIT"></mutation>
                           <field name="MODE">SPLIT</field>
                           <value name="INPUT">
                             <block type="get_value" id="0sttgc-X)jb6)6}FeO:D">
                               <field name="ATTR">val</field>
                               <field name="OID">0_userdata.0.ROBOROCK.Zeiten.Sonntag</field>
                             </block>
                           </value>
                           <value name="DELIM">
                             <shadow type="text" id="68m8D}hEIRfZ_Of)QCJI">
                               <field name="TEXT">:</field>
                             </shadow>
                           </value>
                         </block>
                       </value>
                       <value name="AT">
                         <block type="math_number" id="QJ[{7^~r.r[n8ODadUCd">
                           <field name="NUM">1</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <value name="MINUTES">
                     <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="`cp6Qz%pyN7dD%n[4GJ:">
                       <field name="TEXT">*</field>
                     </shadow>
                     <block type="lists_getIndex" id="(TEF[qhu6XSX.*bI|6Y^">
                       <mutation statement="false" at="true"></mutation>
                       <field name="MODE">GET</field>
                       <field name="WHERE">FROM_START</field>
                       <value name="VALUE">
                         <block type="lists_split" id="PifG+K7K(;=b)UfU0;a3">
                           <mutation mode="SPLIT"></mutation>
                           <field name="MODE">SPLIT</field>
                           <value name="INPUT">
                             <block type="get_value" id="}2~MEI(PPhK:k1,8|E)x">
                               <field name="ATTR">val</field>
                               <field name="OID">0_userdata.0.ROBOROCK.Zeiten.Sonntag</field>
                             </block>
                           </value>
                           <value name="DELIM">
                             <shadow type="text" id="CF5NLsHqmc{FG3^.Q+l+">
                               <field name="TEXT">:</field>
                             </shadow>
                           </value>
                         </block>
                       </value>
                       <value name="AT">
                         <block type="math_number" id="}TGS!VM:*W;^jwCUvl?5">
                           <field name="NUM">2</field>
                         </block>
                       </value>
                     </block>
                   </value>
                 </block>
               </value>
               <statement name="STATEMENT">
                 <block type="controls_if" id=":KA}U53%E`rvGfLlM]/i">
                   <mutation elseif="1"></mutation>
                   <value name="IF0">
                     <block type="logic_operation" id="645@@F28Ed^60EjcH5JG" inline="false">
                       <field name="OP">AND</field>
                       <value name="A">
                         <block type="logic_operation" id="L^wOi=0/Gf!eW2K$46c1" inline="false">
                           <field name="OP">AND</field>
                           <value name="A">
                             <block type="logic_compare" id="[c%~Llk!)_Er9!h5Hn6r">
                               <field name="OP">EQ</field>
                               <value name="A">
                                 <block type="get_value" id="W5~V6s:IHO9r2`}qKS4@">
                                   <field name="ATTR">val</field>
                                   <field name="OID">0_userdata.0.ROBOROCK.aktiv.Zeitplan_aktiv</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_boolean" id="@In-72#Go2tHke[v?r{H">
                                   <field name="BOOL">TRUE</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <value name="B">
                             <block type="logic_compare" id="G13N!})-*Gf,!Z/AXO4|">
                               <field name="OP">EQ</field>
                               <value name="A">
                                 <block type="get_value" id="H2wc^SKQ-$MnQ^[J5]f:">
                                   <field name="ATTR">val</field>
                                   <field name="OID">0_userdata.0.ROBOROCK.aktiv.Sonntag</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_boolean" id=")}g6{5Z^%-b4!6u:ci.T">
                                   <field name="BOOL">TRUE</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </value>
                       <value name="B">
                         <block type="logic_compare" id="Em{NtfK5xK%zp63*T{nG">
                           <field name="OP">EQ</field>
                           <value name="A">
                             <block type="get_value" id="7u_~L@thwyJ=nS9{lN?-">
                               <field name="ATTR">val</field>
                               <field name="OID">0_userdata.0.Anwesenheit.Jemand_da</field>
                             </block>
                           </value>
                           <value name="B">
                             <block type="logic_boolean" id="Z2JIT+CT):0LP*IP+o7c">
                               <field name="BOOL">FALSE</field>
                             </block>
                           </value>
                         </block>
                       </value>
                     </block>
                   </value>
                   <statement name="DO0">
                     <block type="control" id="fdWN12A76u[-Mls2e1sA">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                       <field name="OID">mihome-vacuum.0.control.clean_home</field>
                       <field name="WITH_DELAY">FALSE</field>
                       <value name="VALUE">
                         <block type="logic_boolean" id="dL:rx)EtViakR:f3xP!+">
                           <field name="BOOL">TRUE</field>
                         </block>
                       </value>
                       <next>
                         <block type="control" id="#a@L)HU`K?)d$CCaO1~{">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                           <field name="OID">mihome-vacuum.0.control.fan_power</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="math_number" id="G*VY3)ha+tPf5@fGVr;l">
                               <field name="NUM">102</field>
                             </block>
                           </value>
                           <next>
                             <block type="procedures_callnoreturn" id="PP7aa+8^h{x#exk-w*s8">
                               <mutation name="Telegram">
                                 <arg name="Meldung"></arg>
                               </mutation>
                               <value name="ARG0">
                                 <block type="text_join" id="#f/1g9PN%+yWlS(gUl8a">
                                   <mutation items="4"></mutation>
                                   <value name="ADD0">
                                     <block type="text" id="4,hkFevqq^l8HEy#ds|]">
                                       <field name="TEXT">Saugi wird gestartet nach dem Wochenplan, Sonntag: </field>
                                     </block>
                                   </value>
                                   <value name="ADD1">
                                     <block type="lists_getIndex" id="@(!CM|u4-_.ELRx5r4Vy">
                                       <mutation statement="false" at="true"></mutation>
                                       <field name="MODE">GET</field>
                                       <field name="WHERE">FROM_START</field>
                                       <value name="VALUE">
                                         <block type="lists_split" id="Tmx3hwhH`hk+@Mf3dSNp">
                                           <mutation mode="SPLIT"></mutation>
                                           <field name="MODE">SPLIT</field>
                                           <value name="INPUT">
                                             <block type="get_value" id="qjX_W7j(Te2IO;bd7%^9">
                                               <field name="ATTR">val</field>
                                               <field name="OID">0_userdata.0.ROBOROCK.Zeiten.Sonntag</field>
                                             </block>
                                           </value>
                                           <value name="DELIM">
                                             <shadow type="text" id="+etB]tnW]FDe__tw]$SV">
                                               <field name="TEXT">:</field>
                                             </shadow>
                                           </value>
                                         </block>
                                       </value>
                                       <value name="AT">
                                         <block type="math_number" id="ltLrfn,X/k1#MFx#TSTq">
                                           <field name="NUM">1</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <value name="ADD2">
                                     <block type="lists_getIndex" id="ae]t/:X(TvKKz;IK]|;O">
                                       <mutation statement="false" at="true"></mutation>
                                       <field name="MODE">GET</field>
                                       <field name="WHERE">FROM_START</field>
                                       <value name="VALUE">
                                         <block type="lists_split" id="k@``p,8r(Du{!SN+orpK">
                                           <mutation mode="SPLIT"></mutation>
                                           <field name="MODE">SPLIT</field>
                                           <value name="INPUT">
                                             <block type="get_value" id="(7=tu?zqs;5:hEr]5#(G">
                                               <field name="ATTR">val</field>
                                               <field name="OID">0_userdata.0.ROBOROCK.Zeiten.Sonntag</field>
                                             </block>
                                           </value>
                                           <value name="DELIM">
                                             <shadow type="text" id="/*N5no%|PZlGak@zp~M/">
                                               <field name="TEXT">:</field>
                                             </shadow>
                                           </value>
                                         </block>
                                       </value>
                                       <value name="AT">
                                         <block type="math_number" id="sPRE@{omjF8BXUnDy?hb">
                                           <field name="NUM">2</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <value name="ADD3">
                                     <block type="text" id="~=[N@3XGv(og+fyjj`n|">
                                       <field name="TEXT"> Uhr.</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </statement>
                   <value name="IF1">
                     <block type="logic_operation" id="u]q|FT-`k$0WR9}y|k6l" inline="false">
                       <field name="OP">AND</field>
                       <value name="A">
                         <block type="logic_operation" id="|U$RB!M3n8r90qC%#Icy" inline="false">
                           <field name="OP">AND</field>
                           <value name="A">
                             <block type="logic_compare" id="Lz8LDn=_W4r7hw)+msH|">
                               <field name="OP">EQ</field>
                               <value name="A">
                                 <block type="get_value" id="ufAWIGyXE_bM*$im:AMy">
                                   <field name="ATTR">val</field>
                                   <field name="OID">0_userdata.0.ROBOROCK.aktiv.Zeitplan_aktiv</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_boolean" id="8r7_c`^rY3cnO1^E=r1y">
                                   <field name="BOOL">TRUE</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <value name="B">
                             <block type="logic_compare" id="2_D/O,g92EFw!4ir0I-8">
                               <field name="OP">EQ</field>
                               <value name="A">
                                 <block type="get_value" id="AcE9RIyk8`xOe#_S0Vof">
                                   <field name="ATTR">val</field>
                                   <field name="OID">0_userdata.0.ROBOROCK.aktiv.Sonntag</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_boolean" id="Q!oJ8YhjR]j6i_cuq,vG">
                                   <field name="BOOL">TRUE</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </value>
                       <value name="B">
                         <block type="logic_compare" id="jSk-#R?BB*FvA!F(3d#g">
                           <field name="OP">EQ</field>
                           <value name="A">
                             <block type="get_value" id="TJ#cZs_n4)HwVvf_JZR[">
                               <field name="ATTR">val</field>
                               <field name="OID">0_userdata.0.Anwesenheit.Jemand_da</field>
                             </block>
                           </value>
                           <value name="B">
                             <block type="logic_boolean" id="9v!3V,TryGL/4P1Ql6m-">
                               <field name="BOOL">TRUE</field>
                             </block>
                           </value>
                         </block>
                       </value>
                     </block>
                   </value>
                   <statement name="DO1">
                     <block type="update" id="C?.0z-/fW9e+hCoUgvde">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                       <field name="OID">0_userdata.0.ROBOROCK.Saug-Reminder</field>
                       <field name="WITH_DELAY">FALSE</field>
                       <value name="VALUE">
                         <block type="logic_boolean" id="RAt(7W~fE9Y`Ix{-4sN1">
                           <field name="BOOL">TRUE</field>
                         </block>
                       </value>
                     </block>
                   </statement>
                 </block>
               </statement>
              </block>
              


              71168d15-0f8c-4b18-9a77-1ace5dce23f4-grafik.png
              Zeitblock:

              <block xmlns="https://developers.google.com/blockly/xml" type="schedule" id="F1}1Hb/1%hm#0_JM/8lC" x="362" y="4844">
               <field name="SCHEDULE">56 18 * * *</field>
               <statement name="STATEMENT">
                 <block type="update" id="?1+m,VZCrly6,(#sM7v4">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                   <field name="OID">0_userdata.0.ROBOROCK.Saug-Reminder</field>
                   <field name="WITH_DELAY">FALSE</field>
                   <value name="VALUE">
                     <block type="logic_boolean" id="cNtO}4%tz+B87C,jJevP">
                       <field name="BOOL">FALSE</field>
                     </block>
                   </value>
                 </block>
               </statement>
              </block>
              


              Letzter Teil:

              <block xmlns="https://developers.google.com/blockly/xml" type="on" id="tzCqV+l2`XYn0nr]N1bw" x="362" y="4951">
               <field name="OID">0_userdata.0.ROBOROCK.Saug-Reminder</field>
               <field name="CONDITION">ne</field>
               <field name="ACK_CONDITION"></field>
               <statement name="STATEMENT">
                 <block type="controls_if" id="GqaJ()-D6/pl.9Y_Mq2X">
                   <mutation else="1"></mutation>
                   <value name="IF0">
                     <block type="logic_compare" id="5p2]X8Oy|Bx5uVJDXj1A">
                       <field name="OP">EQ</field>
                       <value name="A">
                         <block type="on_source" id="EvL9+(kM3yn`9)_5]nc$">
                           <field name="ATTR">state.val</field>
                         </block>
                       </value>
                       <value name="B">
                         <block type="logic_boolean" id="VOt[*ZAaIvM8U^/78V`_">
                           <field name="BOOL">TRUE</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <statement name="DO0">
                     <block type="timeouts_setinterval" id="ExUI/h:2xQ{!SM.Zi@}2">
                       <field name="NAME">Intervall</field>
                       <field name="INTERVAL">10</field>
                       <field name="UNIT">min</field>
                       <statement name="STATEMENT">
                         <block type="controls_if" id="CbFVt*5OtVr(rJu|jEZ`">
                           <value name="IF0">
                             <block type="logic_compare" id="A4SQ_4$7IG%bK3)-`xSh">
                               <field name="OP">EQ</field>
                               <value name="A">
                                 <block type="get_value" id="X-$L2)ADz*[cW6t4y/uO">
                                   <field name="ATTR">val</field>
                                   <field name="OID">0_userdata.0.Anwesenheit.Jemand_da</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_boolean" id="6yvgY;E|}H!GK@uZX/Qg">
                                   <field name="BOOL">FALSE</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="control" id="c!V9eTpxwI.g.zv#/!9#">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">mihome-vacuum.0.control.clean_home</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="logic_boolean" id="bBFVBR[vN[xuua3edhfP">
                                   <field name="BOOL">TRUE</field>
                                 </block>
                               </value>
                               <next>
                                 <block type="control" id=":Nugd7EKH*daZi4d9Is1">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                   <field name="OID">mihome-vacuum.0.control.fan_power</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="math_number" id="be!RICz`w,MM#Noh@yKH">
                                       <field name="NUM">102</field>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="procedures_callnoreturn" id="jX%XF0NXLa@ti,%M^piT">
                                       <mutation name="Telegram">
                                         <arg name="Meldung"></arg>
                                       </mutation>
                                       <value name="ARG0">
                                         <block type="text_join" id="^+kVRGfko9tZPE)bAt6w">
                                           <mutation items="1"></mutation>
                                           <value name="ADD0">
                                             <block type="text" id="9%ku6E3u7@`|Pm_-`XVT">
                                               <field name="TEXT">Saugi wird jetzt gestartet nach dem Wochenplan, da keiner mehr Daheim ist</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="update" id="$+$gX#ud[lpcoID7;nn_">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                           <field name="OID">0_userdata.0.ROBOROCK.Saug-Reminder</field>
                                           <field name="WITH_DELAY">FALSE</field>
                                           <value name="VALUE">
                                             <block type="logic_boolean" id="j}TnZ557jPl2*vVF_O2h">
                                               <field name="BOOL">FALSE</field>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="timeouts_clearinterval" id="4!oVH3H2D{1fh:f_?qc9">
                                               <field name="NAME">Intervall</field>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </statement>
                         </block>
                       </statement>
                     </block>
                   </statement>
                   <statement name="ELSE">
                     <block type="timeouts_clearinterval" id="wr,sSVYV;q|y8ayp~;bU">
                       <field name="NAME">Intervall</field>
                     </block>
                   </statement>
                 </block>
               </statement>
              </block>
              

              1 Antwort Letzte Antwort
              0
              • H helfi9999

                @guergen @mickym @Codierknecht hallo,
                er soll nur einmal saugen wenn niemand zuhause ist. Kommt jemand wieder und geht später nochmals weg soll er nicht nochmal saugen. Habe mich eventuell nicht richtig ausgedrückt.

                CodierknechtC Offline
                CodierknechtC Offline
                Codierknecht
                Developer Most Active
                schrieb am zuletzt editiert von
                #8

                @helfi9999 sagte in Zeitsaugen als Blockly:

                @guergen @mickym @Codierknecht hallo,
                er soll nur einmal saugen wenn niemand zuhause ist. Kommt jemand wieder und geht später nochmals weg soll er nicht nochmal saugen. Habe mich eventuell nicht richtig ausgedrückt.

                Doch, hast Du. Ich befürchte, dass das als reine Beschreibung nicht verstanden wurde.
                Daher hier als Blockly.
                Der Trigger sitzt auf "anwesend". Irgendwie wirst Du ja prüfen können, ab Personen anwesend sind oder nicht.
                Zusätzlich gibt es einen DP, der dem Sauger sagt ob er saugen soll oder nicht.
                Wenn alle abwesend sind, läuft der Sauger los und merkt sich im DP, dass er nicht mehr saugen soll.
                Nachts wird der DP wieder zurückgesetzt, damit er am neuen Tag auch wieder losläuft.
                Ist nicht wirklich kompliziert.

                ea493393-f9f0-46bb-a5ef-7990db684a32-grafik.png

                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                HmIP|ZigBee|Tasmota|Unifi
                Zabbix Certified Specialist
                Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                H 2 Antworten Letzte Antwort
                0
                • CodierknechtC Codierknecht

                  @helfi9999 sagte in Zeitsaugen als Blockly:

                  @guergen @mickym @Codierknecht hallo,
                  er soll nur einmal saugen wenn niemand zuhause ist. Kommt jemand wieder und geht später nochmals weg soll er nicht nochmal saugen. Habe mich eventuell nicht richtig ausgedrückt.

                  Doch, hast Du. Ich befürchte, dass das als reine Beschreibung nicht verstanden wurde.
                  Daher hier als Blockly.
                  Der Trigger sitzt auf "anwesend". Irgendwie wirst Du ja prüfen können, ab Personen anwesend sind oder nicht.
                  Zusätzlich gibt es einen DP, der dem Sauger sagt ob er saugen soll oder nicht.
                  Wenn alle abwesend sind, läuft der Sauger los und merkt sich im DP, dass er nicht mehr saugen soll.
                  Nachts wird der DP wieder zurückgesetzt, damit er am neuen Tag auch wieder losläuft.
                  Ist nicht wirklich kompliziert.

                  ea493393-f9f0-46bb-a5ef-7990db684a32-grafik.png

                  H Offline
                  H Offline
                  helfi9999
                  schrieb am zuletzt editiert von
                  #9

                  @codierknecht das sieht klasse aus. Eine Frage noch wie mache ich das mit 2 anwesenden Personen.

                  Intel NUC mit Iobroker

                  CodierknechtC 1 Antwort Letzte Antwort
                  0
                  • H helfi9999

                    @codierknecht das sieht klasse aus. Eine Frage noch wie mache ich das mit 2 anwesenden Personen.

                    CodierknechtC Offline
                    CodierknechtC Offline
                    Codierknecht
                    Developer Most Active
                    schrieb am zuletzt editiert von
                    #10

                    @helfi9999 sagte in Zeitsaugen als Blockly:

                    @codierknecht das sieht klasse aus. Eine Frage noch wie mache ich das mit 2 anwesenden Personen.

                    Ich würde einen eigenen DP (wie hier) anlegen, der das Gesamtergebnis repräsentiert.
                    Der wird per Script gefüllt: Entweder "true" (es ist jemand anwesend) oder "false" (niemand anwesend).

                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                    HmIP|ZigBee|Tasmota|Unifi
                    Zabbix Certified Specialist
                    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                    1 Antwort Letzte Antwort
                    0
                    • CodierknechtC Codierknecht

                      @helfi9999 sagte in Zeitsaugen als Blockly:

                      @guergen @mickym @Codierknecht hallo,
                      er soll nur einmal saugen wenn niemand zuhause ist. Kommt jemand wieder und geht später nochmals weg soll er nicht nochmal saugen. Habe mich eventuell nicht richtig ausgedrückt.

                      Doch, hast Du. Ich befürchte, dass das als reine Beschreibung nicht verstanden wurde.
                      Daher hier als Blockly.
                      Der Trigger sitzt auf "anwesend". Irgendwie wirst Du ja prüfen können, ab Personen anwesend sind oder nicht.
                      Zusätzlich gibt es einen DP, der dem Sauger sagt ob er saugen soll oder nicht.
                      Wenn alle abwesend sind, läuft der Sauger los und merkt sich im DP, dass er nicht mehr saugen soll.
                      Nachts wird der DP wieder zurückgesetzt, damit er am neuen Tag auch wieder losläuft.
                      Ist nicht wirklich kompliziert.

                      ea493393-f9f0-46bb-a5ef-7990db684a32-grafik.png

                      H Offline
                      H Offline
                      helfi9999
                      schrieb am zuletzt editiert von
                      #11

                      @codierknecht vielen Dank für eure Hilfe hat alles geklappt wie es sollte.

                      Intel NUC mit Iobroker

                      1 Antwort Letzte Antwort
                      0

                      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                      Registrieren Anmelden
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      330

                      Online

                      32.8k

                      Benutzer

                      82.8k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe