Skip to content

Blockly

Hilfe für Skripterstellung mit Blockly

6.6k Topics 79.5k Posts

NEWS

  • Tasmota kurzer und langer Tastendruck

    3
    1
    0 Votes
    3 Posts
    1k Views
    O
    @paul53 danke dir, hat auf sofort funktioniert
  • [gelöst]Geschirrspüler-Überwachung hängt sich auf

    blockly javascript
    5
    5
    0 Votes
    5 Posts
    332 Views
    SlowmanS
    @TKnpl Kannst du bitte den geänderten funktionierenden kompletten Script weitergeben. Danke
  • Trigger nach Änderung UND Zeit

    blockly
    4
    0 Votes
    4 Posts
    329 Views
    L
    Danke für den Input. Dann nehme ich das mal als Anlass mit mit Funktionen zu befassen, hatte ich bis jetzt ihnoriert.
  • Blocky+Shutter - getriggerter Wert X nach Timeout geändert?

    blockly
    12
    4
    0 Votes
    12 Posts
    864 Views
    _nico_
    @BBTown sagte in Blocky+Shutter - getriggerter Wert X nach Timeout geändert?: @_nico Ich sagte Du könntest mehrere Rolladen - die gleich geschaltet werden sollen - über eine Funktion gemeinsam steuern @BBTown sagte in Blocky+Shutter - getriggerter Wert X nach Timeout geändert?: @_nico sagte in Blocky - Hat sich der Wert X schon wieder geändert?: Es geht aber nicht um eine zeitgleiche Steuerung? Die Rollläden sollen bei Bedarf, manuell, zu unterschiedlichen Zeit gesteuert werden. ja wie willst Du denn das anders als mit Einzel-Scripten lösen? Zur Info für alle und an @BBTown Ich habe es jetzt über ein Blockly-Skript für alle 13 Shutter-Module umgesetzt - auch wenn sich die Steuerung überschneidet - wird alles ordentlich ausgeführt. Hier habe ich dazu etwas geschrieben.
  • [gelöst] falls/ sonst erst nach x sek. ausführen

    4
    1
    0 Votes
    4 Posts
    358 Views
    paul53P
    @AxelF1977 sagte: Funktioniert wie gehofft! Dann bitte das Thema in der Überschrift des ersten Beitrags als [gelöst] markieren.
  • [Problem] Blockly: Triggern auf Variablenänderung

    blockly javascript
    4
    0 Votes
    4 Posts
    399 Views
    paul53P
    @Morgennebel sagte: Kann ich eine derartige function() auch in blockly definieren Ja, unter "Funktionen". [image: 1593549503155-blockly_temp.jpg]
  • NUKI Smart Lock 2.0 & Bridge: Probleme mit Skripten

    3
    0 Votes
    3 Posts
    373 Views
    I
    Supi! Aber leider habe ich keine Datenpunkt "doorState"! :( Vermutlich muß man dafür zwingend die Web-API aktivieren? EDIT: Ich habe jetzt die Web-API aktiviert und nun ist der Datenpunkt "doorState" verfügbar! Kann jemand bestätigen, daß die Web-API zwingend notwendig ist, um den doorState abzufragen? Ich finde dazu in der Beschreibung des Adapters leider keine Erklärung. Eigentlich möchte ich die Web-API nicht aktivieren, da es nicht vorkommen wird, daß ich von unterwegs die Tür öffnen muß. Wofür werden diese "Callbacks" benötigt? Danke vorab!
  • Klimaautomatik

    16
    1
    0 Votes
    16 Posts
    986 Views
    Stephan SchleichS
    Ich weiß es ist eigentlich das selbe wie von Paul aber die Trigger Punkte haben iwie die Werte nicht richtig übernommen, so läufts bei mir [image: 1593541975952-klima.png]
  • Blockly: Keine Aktion wenn Statusänderung von Blockly

    3
    2
    0 Votes
    3 Posts
    491 Views
    R
    @paul53 Cool, Danke. Werde ich direkt mal einbauen. Zudem habe ich gerade nochmal die Lage des Türkontaktes angepasst. mal schauen ob es nun besser funktioniert
  • [gelöst] nach 30 Sek. Gerät offline Meldung

    blockly communication
    5
    0 Votes
    5 Posts
    321 Views
    AphofisA
    @paul53 Habe die Änderung übernommen!!! Danke
  • Script mit "externer" Datenquelle?

    9
    1
    0 Votes
    9 Posts
    531 Views
    G
    Coole Idee...muss ich mal gucken, was am Ende einfacher ist. Ob ich eher auf iobroker:8081 und dort unter Scripts gehe, oder ob ich irgendwie über winscp an die Datei im Filesystem vom iobroker gehe. Wenn ich den Weg über die Anpassung des Scripts gehe, muss ich das dann auch speichern und somit wird die Variable dann auch gleich eingelesen. Aktuell bin ich erstmal zufrieden mit der Lösung.
  • Alarmanlage -> Instanz javascript.0 stürzt ab nach Trigger

    javascript
    6
    1
    0 Votes
    6 Posts
    353 Views
    paul53P
    @Atifan sagte: Ich möchte aber dass der wiederholt wird bis "Alarmanlage" = "false". Dann ist "Ausführen Intervall" schon richtig, aber beendet wird das mit "stop Intervall".
  • Lichtsteuerung mit Bewegungsmelder

    4
    1
    0 Votes
    4 Posts
    489 Views
    haselchenH
    @Semie1 Dann sollte man auch mal die Überlegung hinzuziehen, was du aktuell geändert hast? Adapter aktualisiert oder dergleichen?
  • Alarm Meldung in VIS mit folgeschaltung

    3
    1
    0 Votes
    3 Posts
    253 Views
    AphofisA
    So funktioniert nun der Datenpunkt ESP_Alive <xml xmlns="https://developers.google.com/blockly/xml"> <block type="on_ext" id="4z;83Op#NR_;LrdnUJ6#" x="-987" y="38"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="7"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="pDev6MpFp/eyJSYr(G1U"> <field name="oid">ping.0.AquaPi.sonoff_0_Aqua_Control.alive</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="5SP/ZIheLg/a[yK3ss#M"> <field name="oid">ping.0.AquaPi.sonoff_0_Aqua_Dosierer.alive</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="C5Bo/D%+0ES)8bEo.UO4"> <field name="oid">ping.0.AquaPi.sonoff_0_Aqua_Float.alive</field> </shadow> </value> <value name="OID3"> <shadow type="field_oid" id="EOK~6hZ$8R#XfUzqi7b1"> <field name="oid">ping.0.AquaPi.sonoff_0_Aqua_Float_2.alive</field> </shadow> </value> <value name="OID4"> <shadow type="field_oid" id="{VM:-]k7)|6=4a/]4aGv"> <field name="oid">ping.0.AquaPi.sonoff_0_Aqua_Power.alive</field> </shadow> </value> <value name="OID5"> <shadow type="field_oid" id=".`(?@^`G[I^~!K0MXpv]"> <field name="oid">ping.0.AquaPi.sonoff_0_Aqua_Sensoren.alive</field> </shadow> </value> <value name="OID6"> <shadow type="field_oid" id="yrbA#I[g{VuB`@*]@N$I"> <field name="oid">ping.0.AquaPi.sonoff_0_Aqua_Test.alive</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="~1B]^Hr|b:d{wCGpPsmX"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="]+0/`G,P!QC;xsw-Z0IR"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="x`vso)AZs=fvl?=5ikHz"> <field name="ATTR">val</field> <field name="OID">ping.0.AquaPi.sonoff_0_Aqua_Control.alive</field> </block> </value> <value name="B"> <block type="logic_boolean" id="3=?f++mcOrh4TLtOy#CA"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="(`nq-(I1[}/L+:oV_W+["> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Aqua_Control.0.System.ESP_Alive</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="+yRWPHsC4^CpdT(pO%X_"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id=".!:9pWc^[%JpXuZ`y|[`"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="uq_Amf:mD+v`!{{3K.w^"> <field name="ATTR">val</field> <field name="OID">ping.0.AquaPi.sonoff_0_Aqua_Control.alive</field> </block> </value> <value name="B"> <block type="logic_boolean" id="::T~MQb~+1tUvJUyFZ)K"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="PZm;iI!!K]+ib5UaKPLP"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Aqua_Control.0.System.ESP_Alive</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="N2$](ay+Pi/x@gjfXN)o"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="6~=AsWV,4s]NTv5:F5NT"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="v+HnS2n-3+)H2vC~~BvA"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="+a?Mm.0~J1pdQt.`Ga{i"> <field name="ATTR">val</field> <field name="OID">ping.0.AquaPi.sonoff_0_Aqua_Dosierer.alive</field> </block> </value> <value name="B"> <block type="logic_boolean" id="ul^Js:~GgoxJGe]vdllH"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id=":{b=/!W/7,?a2{;!6@aM"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Aqua_Control.0.System.ESP_Alive</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="-;ASSnQO/YBkL80Q+.|P"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="4tsfmiTf$:Kip!2[!W_("> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="S.tuq8cigY/;eoU_c}!_"> <field name="ATTR">val</field> <field name="OID">ping.0.AquaPi.sonoff_0_Aqua_Dosierer.alive</field> </block> </value> <value name="B"> <block type="logic_boolean" id="?Y]%YPMh#b-,cxW`=+qZ"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="oMuOeRHFOfR4/{b/bqD2"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Aqua_Control.0.System.ESP_Alive</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="3^8Y1((:~S[9|8kQ$cn0"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="V;{cV|ak]RSi~7~q5nQ5"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="w)SKT/Hb+HYEy7FgWFIG"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="lg%$qxnXh--AP{2.WY::"> <field name="ATTR">val</field> <field name="OID">ping.0.AquaPi.sonoff_0_Aqua_Float.alive</field> </block> </value> <value name="B"> <block type="logic_boolean" id="=W+7Hwl`VNYfyb1eqRy?"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="eLo^d$dwI_#wQnSuxoZy"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Aqua_Control.0.System.ESP_Alive</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="@*@XWa.p1@Zobv])b]9Y"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="=vzkLthr+4k/ZF%jmGgA"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="j)QS/yb4Gnh~G}Ik;+R|"> <field name="ATTR">val</field> <field name="OID">ping.0.AquaPi.sonoff_0_Aqua_Float.alive</field> </block> </value> <value name="B"> <block type="logic_boolean" id="X~?Stm1dlO4?Y+~]Z72]"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="lJ!:i3QDkI/eB$N35N1-"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Aqua_Control.0.System.ESP_Alive</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="WzC80EJj`z[n1WL1~#mN"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="(K5,H];,`o-nT}Y_rLH9"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="F]-]zOCmbVJb(!c6J*YQ"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id=")2H[e?@mxkViN.Ro)V1Y"> <field name="ATTR">val</field> <field name="OID">ping.0.AquaPi.sonoff_0_Aqua_Float_2.alive</field> </block> </value> <value name="B"> <block type="logic_boolean" id="$ZKTHzi?mrF^^1X7|H#i"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="(8Oh$l(S74yqq[l9dFTX"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Aqua_Control.0.System.ESP_Alive</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="4+]fF.|p:q`NgaEp#]-{"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="o4cc18b[V}t0d*5[`L]8"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="{#Sh]71vE)|:Rq2z-/V/"> <field name="ATTR">val</field> <field name="OID">ping.0.AquaPi.sonoff_0_Aqua_Float_2.alive</field> </block> </value> <value name="B"> <block type="logic_boolean" id="S:l6ALhUVhweY-rh+HOI"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="DK3fEAw~mpgg.6)PBqZ_"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Aqua_Control.0.System.ESP_Alive</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="o6mJXno3[yB$~lXL%BU."> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="$[Rh`NU15U$/NCR9`)cV"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="xTyt2d?!rErx(xU]r;,{"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="hdsrh!fmG|RW|#Wy@$jg"> <field name="ATTR">val</field> <field name="OID">ping.0.AquaPi.sonoff_0_Aqua_Power.alive</field> </block> </value> <value name="B"> <block type="logic_boolean" id="p`[_$b`^y$%K^IA,ui=A"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="4T%vdkQWe)0Pu6q;)]qG"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Aqua_Control.0.System.ESP_Alive</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="77j5R(?G0fH6X+sK(ayH"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="8NmuN1cA#pteV_{Nu?ip"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="%22JVu9cBr2rm@a/aK~Z"> <field name="ATTR">val</field> <field name="OID">ping.0.AquaPi.sonoff_0_Aqua_Power.alive</field> </block> </value> <value name="B"> <block type="logic_boolean" id="9{QIH699Iaf$omj;Ix1}"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="|L%+p$Dyk44}cEb)d%|B"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Aqua_Control.0.System.ESP_Alive</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="9)4Sb54Q3@Z*snR)dYuv"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="%$bTj]g^T3RD?@o;K}3@"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="ai?L~8)D~uz(t~0V}w45"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Je?~IEK!QvOm0``$#,t`"> <field name="ATTR">val</field> <field name="OID">ping.0.AquaPi.sonoff_0_Aqua_Sensoren.alive</field> </block> </value> <value name="B"> <block type="logic_boolean" id="#l-vYV,2]$K2}sSvT4U="> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="W9r9tej8HvK7.a!AOCd|"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Aqua_Control.0.System.ESP_Alive</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="]MoWf(p.Pf%fJp]NQvEd"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="XmOQIBud2MFA{IdT;](4"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="?eE4C$O9BNPTb3r%ODID"> <field name="ATTR">val</field> <field name="OID">ping.0.AquaPi.sonoff_0_Aqua_Sensoren.alive</field> </block> </value> <value name="B"> <block type="logic_boolean" id="zJW?Sn.gGb{3(I05Ti+`"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="3z]tm4Iy?uX8^LR6~];0"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Aqua_Control.0.System.ESP_Alive</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="3gC3Bqlehcx.JnP,,U!{"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="weU]1q#sEGAYQ]38klm2"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="]Q9hyMDGi`}L:C^O==3B"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="lYs#d3u{)n`$9:VC.bDc"> <field name="ATTR">val</field> <field name="OID">ping.0.AquaPi.sonoff_0_Aqua_Test.alive</field> </block> </value> <value name="B"> <block type="logic_boolean" id="K#E.+laA0QySlo~NuPSg"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="xifd~Chi~5|m(8M8Dvc)"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Aqua_Control.0.System.ESP_Alive</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="_s7ni[Xyq,`v@%by3*dy"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="q:3TSQzQTkD=F6D?%LbI"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="=9*7QCmVeDzn/!@DprLC"> <field name="ATTR">val</field> <field name="OID">ping.0.AquaPi.sonoff_0_Aqua_Test.alive</field> </block> </value> <value name="B"> <block type="logic_boolean" id="v.vCmlY:HM,]TFZ^`02n"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="0F6?yz`-I4Lsf~$tK6pt"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Aqua_Control.0.System.ESP_Alive</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="8~qh^HBORR@-^MlgzaL1"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml> Nur wie bekomme ich jetzt die Meldung ins VIS welches Gerät Offline ist und dann soll das Gerät neu gestartet werden per IP adresse also dazu kann ich dann meine ESP Reboot steuerungen auslösen lassen.
  • Script für autom. Benachrichtigung bei low Batteriestand

    blockly
    18
    1
    0 Votes
    18 Posts
    1k Views
    AtifanA
    OK habe bei "Name" die Stringumwandlung entfernt, das ging :)
  • [gelöst] Blockly HMIP Wechsellicht

    14
    1
    0 Votes
    14 Posts
    965 Views
    chraltC
    Hallo @buggybeast so funktioniert es jetzt (einschließlich Test Telegram der auch Bestanden ist. :-) [image: 1593346040211-dc129474-7c37-45a7-9d1a-76e69fb67752-grafik.png] Gruß chralt PS.: jetz kann ich das "Gelöst" ja wieder setzen.
  • jeden Abend counter auf 0 setzen

    8
    1
    0 Votes
    8 Posts
    582 Views
    liv-in-skyL
    @eldorio damit wurde um 13:00 der count auf 0 gesetzt [image: 1593342227624-image-2.png]
  • Blockybaustein Und/Oder mit 3 externen Eingängen?

    5
    1
    0 Votes
    5 Posts
    370 Views
    Basti97B
    @Slowman Doch das funktoniert so wie @Glasfaser gezeigt hat. Du musst nur alle Eingänge besetzen wenn einer von den oder / und Block frei bleibt. Werden sie nicht abgearbeitet.
  • Spotify auf Denov Avr X1200

    1
    0 Votes
    1 Posts
    104 Views
    No one has replied
  • Lüfter stündlich für 10 min anschalten?

    blockly
    4
    0 Votes
    4 Posts
    299 Views
    AtifanA
    Hi, hier mal ein beispiel von mir. Ich schalte damit eine WLAN-Steckdose an der ein Luftentfeuchter angeschlossen ist. Die Steckdose schaltet sich immer ein wenn die Luftfeuchtigkeit >=63% ist solang bis sie wieder <=52% ist. Gleichzeitig wird bei jedem Schaltvorgang noch eine E-Mail an mich versendet (möchte über einen Zeitraum überwachen wielange das läuft und wieviel Strom es zieht). Die Bedingungen kannst du natürlich auch anpassen durch Uhrzeiten, Lichtstärke oder andere Sensoren. [image: 1593257289501-9ac048f4-727c-4bc9-8c48-d1f29feff301-image.png]

586

Online

32.7k

Users

82.5k

Topics

1.3m

Posts