NEWS
[gelöst] Blocky für Bewegungsmelder (getrennter Senor / Aktor)
-
Hallo allerseits.
Ich bin vor kurzem erst mit ioBroker und Homeautomation angefangen und stehe schon vor dem ersten Problem da meine Programmierfähigkeiten eher rudimentär sind :).
Es geht in diesem Fall um folgendes. Eine Spiegelbeleuchtung soll mit einem Bewegungsmelder gesteuert werden, da die Spannungsversorgung hinter dem Spiegel nicht schaltbar ist. Nach diversen Versuchen mit Ultraschallsensoren hinterm Spiegel, Funkgedöns versuche ich das jetzt mal mit Sinn und eurem Verstand. Aufgebaut ist das Ganz mit zwei Sonoff Basic und es funktioniert auch schon ganz gut. Ein Aktor sitzt hinterm Spiegel "Sonoff_BasicSensor01" ("Sensor" weil auch noch Klimadaten erfasst werden neben dem Lichtschalten) und der mit dem Bewegungsmelder "Sonoff_BasicMotion01" seitlich in einem Doppelrahmen. Es passiert folgendes. Bewegung wird erkannt, der Sonoff "Motion" geht auf "Power true" und das Licht wird eingeschaltet. Nach einer am Pir-Sensor eingestellten Zeit geht das Signal am Bewegungssensor Sonoff auf "Power false" und nach einer in Blocky eingestellten Zeit geht auch das Licht aus. Funktioniert so weit eigentlich ganz gut. Allerdings hätte ich es gerne wenn nachdem der Bewegungsmelder abfällt und wieder eine Bewegung erkannt wird die Zeit erneut von vorne beginnt. Normalerweise kann man das am PIR Sensor mit einem Jumper setzen, aber bei meiner Konstruktion ist das nicht möglich da ich dort wo der Jumper sitzt die Spannungsversorgung vom PIR angeschlossen habe damit er mit den 3.3V funktioniert die der Sonoff liefert.
Später soll dann noch eine wie auch immer geartete Variable hinzukommen welche die Beleuchtung auf Dauerlicht setzt und den Bewegungsmelder übergeht.
Aktuell nutze ich die Problemstellung um mich in die Funktion von Blocky einzuarbeiten. Die Begrifflichkeiten welche Blocky verwendet sind für mich leider nicht immer transparent :D.
Hier mein aktueller Blocky Entwurf, vielleicht hat ja jemand von euch einen Tipp für mich.
4941_blocky_motiondetection.png -
Die Begrifflichkeiten welche Blocky verwendet sind für mich lkeider nicht immer transparent :D. `
Hallo meikel
Im Moment kämpfe ich mit Deinen "Begrifflichkeiten"
Viel zu viel Einbau-/Technikinfos die mit Blockly nichts zu tun haben und (mich) nur verwirren.
Dazu habe ich noch einige Zeit gebraucht, auf dem Screenshot, zu erkennen, dass es
"Sonoff_BasicSensor01.POWER" und "Sonoff-BasicSensor01.POWER" gibt.
Das macht das Lesen von Deinem Blockly auch nicht einfacher.
Was ist Was?
Also kurz gesagt, ich habe keine Ahnung was Du möchtest. :oops:
Grüße
-
Servus.
Zu ausführlich ist anscheinend auch nicht gut :roll:
Du hast das leider falsch interpretiert und dich verlesen.
Das Teil was ein/aus geschaltet wird nennt sich Sonoff_BasicSensor01. Im Objektnamen ist der Begriff Sensor da an dem "Aktor" auch noch ein DHT22 für Temp und Luftfeuchte angeschlossen ist.
Das Teil was die Bewegung erkennt nennt sich Sonoff-BasicMotion01 und erfasst lediglich die Bewegung, nichts weiter. Wird vom PIR eine Bewegung erkannt dann wird der Wert für "Power" auf true gesetzt. Das Relais in dem Modul schaltet zwar aber es hängt nichts dran.
Ich hätte es gerne so.
-
Licht aus
-
Bewegung erkannt -> Licht wird eingeschaltet - und ein Ausschalttimer wird aktiviert
-
Solange der Ausschalttimer läuft und eine neue Bewegung erkannt wird soll der Ausschalttimer zurück gesetzt werden und die Zeit beginnt von vorne
-
erst wenn keine Bewegung mehr signalisiert wird läuft der Timer ab und die Lampe wird ausgeschaltet.
Ein späteres Gimmik wäre die Abfrage einer Variable die den ganzen Timerkram umgeht und das Licht dauerhaft anschaltet "Partymodus".
PS: es handelt sich um das Bad im Keller und wird nicht oft benutzt, tut aber nichts zur Sache.
-
-
was du moechtest kan man mit einem timer realisieren:
-
stelle dein blockly mal als export bereit
-
wie langen (nachdem keine bewegung erkannt wurde) soll die lampe noch anbleiben befohr das ausschalt kommando geschikt wird ?
~Dutch
-
-
was du moechtest kan man mit einem timer realisieren:
-
stelle dein blockly mal als export bereit
-
wie langen (nachdem keine bewegung erkannt wurde) soll die lampe noch anbleiben befohr das ausschalt kommando geschikt wird ?
~Dutch ` Moin Dutchman.
Mache ich gleich sobald mein System sich aktualisiert hat.
Das ein Timer ein zentrale Rolle spielt hab ich mir ja schon gedacht, allerdings ist mir die Syntax dafür nicht klar. Ich versuche mich anhand des konkreten Themas in die Funktionsweise von Blocky einzuarbeiten.
Gesendet von meinem ONEPLUS A5010 mit Tapatalk
-
-
was du moechtest kan man mit einem timer realisieren:
-
stelle dein blockly mal als export bereit
-
wie langen (nachdem keine bewegung erkannt wurde) soll die lampe noch anbleiben befohr das ausschalt kommando geschikt wird ?
~Dutch `
So, hier nun der Export, die Länge von dem Timer ist erstmal egal da sie sich ja fix anpassen lässt. Aber nehmen wir mal 5 Minuten zum Anfang:
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="Mv!MT1rvco3XETzCuTGB" x="13" y="13"><mutation items="1"></mutation>
<field name="CONDITION">true</field>
<field name="ACK_CONDITION">true</field>
<value name="OID0"><shadow type="field_oid" id="ns2?l}nltRiK|jpVC|^F"><field name="oid">sonoff.0.Sonoff-BasicMotion01.POWER</field></shadow></value>
<statement name="STATEMENT"><block type="control" id="Gr7sa[#FoRVMpn}Vsw"><mutation delay_input="false"></mutation>
<field name="OID">sonoff.0.Sonoff_BasicSensor01.POWER</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="logic_boolean" id="tM1D_I8FtZnZx#m*X[tT"><field name="BOOL">TRUE</field></block></value>
<next><block type="debug" id="w=9Azu8gW+TuV9YNYCFd"><field name="Severity">log</field>
<value name="TEXT"><shadow type="text" id="P:qZ8yHEt
8g)M433J7"><field name="TEXT">geschaltet</field></shadow>
<block type="text" id="U7|?tPT){*s:UTMK4]("><field name="TEXT">Bewegung Bad Keller erkannt</field></block></value></block></next></block></statement> <next><block type="on_ext" id="e:j;drGmk.I+p]dvt:|c"><mutation items="1"></mutation> <field name="CONDITION">false</field> <field name="ACK_CONDITION">true</field> <value name="OID0"><shadow type="field_oid" id="%BMow90xS2%5A,)Q=
;^"><field name="oid">sonoff.0.Sonoff-BasicMotion01.POWER</field></shadow></value>
<statement name="STATEMENT"><block type="control" id="uUG(C1wQ%IOnk@8ilY1g"><mutation delay_input="true"></mutation>
<field name="OID">sonoff.0.Sonoff_BasicSensor01.POWER</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">10</field>
<field name="UNIT">min</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE"><block type="logic_boolean" id="(#0`Y|YSc.|~+Ndn{ybq"><field name="BOOL">FALSE</field></block></value></block></statement></block></next></block></xml> -
-
Vielleicht reicht es schon "anerkannt ist" auf "egal" zu stellen
-
Ich wuerde es so loesen:
Der trigger ist immer auf den bewegungsmelder, wen bewegung erkannt und lampe ist aus ==> Lampe an
Wen keine bewegung mehr und lampe ist an, starte 5 minuten timer um lampe aus zu schalten
Sollte in der zwischenzeit wieder eine bewegung registriert werden und die lampe ist an wird der 5 minuten timer ausgeschaltet.
Du musst noch in de falls bloecken wert von 1stes object = dein bewegungsmelder, 2tes object = status lampe.
Das kan ich leider nicht weil ich die objecte nicht habe, verstaendlich so ?
Export:
!
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="Mv!MT1rvco3XETzCuTGB" x="13" y="13"><mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION">true</field> <value name="OID0"><shadow type="field_oid" id="ns2?l}nltRiK|jpVC|^F"><field name="oid">sonoff.0.Sonoff-BasicMotion01.POWER</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="qHht;}xWiBega3|mT1Zv"><mutation elseif="2"></mutation> <value name="IF0"><block type="logic_operation" id="[.lNWTlVaR^MLgFJVFIG"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="UPW4@%R5y*c:R-T-/3DO"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="V_x:*;.=.[7btwU@rYX1"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block type="logic_boolean" id="Dlf!ZPX|MO~r+UIdunnG"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="@WEWIGmx54/s*p.RX}9R"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="ERGsA=E?DeaasSiTSsVB"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block type="logic_boolean" id="BhBbpdv),^6^XZ|^3Woj"><field name="BOOL">FALSE</field></block></value></block></value></block></value> <statement name="DO0"><block type="control" id="Gr7sa[#FoRVMp*n}Vs*w"><mutation delay_input="false"></mutation> <field name="OID">sonoff.0.Sonoff_BasicSensor01.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="tM1D_I8FtZnZx#m*X[tT"><field name="BOOL">TRUE</field></block></value> <next><block type="debug" id="w=9Azu8gW+TuV9YNYCFd"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="P:qZ`8yHEt`8g)M433J7"><field name="TEXT">geschaltet</field></shadow> <block type="text" id="U7|?`tPT){*s:UTMK4]("><field name="TEXT">Bewegung Bad Keller erkannt lampe eingeschaltet</field></block></value></block></next></block></statement> <value name="IF1"><block type="logic_operation" id="i*v]sjdQ)Z.6+k3g|/!e"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="PoSE1O0JT#T6^GlBMXo;"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="7?neKzAZJI6i.tp#4_q}"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block type="logic_boolean" id=":YD/Qacv0%hP;40g?tVe"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="ESU]Nkj?#PANmu1^r`@y"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="90n-FJ.Vb2g}jAUrZ^li"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block type="logic_boolean" id="q3cwU9kz%zKQF,BHw*Q`"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <statement name="DO1"><block type="timeouts_cleartimeout" id="GbSiSCG-y{J+*)yr1-qm"><field name="NAME">timeout</field> <next><block type="debug" id="uwi:gPIl}^XI+DR~Ej(U"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="P:qZ`8yHEt`8g)M433J7"><field name="TEXT">geschaltet</field></shadow> <block type="text" id="ik5V^;3feEBA;O~XM}fE"><field name="TEXT">Bewegung Bad Keller, lampe ist an auschaltimer stoppen</field></block></value></block></next></block></statement> <value name="IF2"><block type="logic_operation" id="x3vz-[H|fD-IQCWJR0T?"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="`^LgI1QsB8NJ80E1Fo^V"><field name="OP">EQ</field> <value name="A"><block type="get_value" id=",49EyOt6qm4fleul~{-z"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block type="logic_boolean" id="DB(}[k1xlI4PI!*ZyH-h"><field name="BOOL">FALSE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="]Km:JyA#]}OGsxFe6f=+"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="U7Ol[JR-JN%{3dDUYMtU"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block type="logic_boolean" id="c5,|+2IndqRJHTY;*Wy-"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <statement name="DO2"><block type="timeouts_settimeout" id="I0sUAS/_Kb%ipxBR!}0%"><field name="NAME">timeout</field> <field name="DELAY">5</field> <field name="UNIT">min</field> <statement name="STATEMENT"><block type="control" id="uUG(C1wQ%IOnk@8ilY1g"><mutation delay_input="true"></mutation> <field name="OID">sonoff.0.Sonoff_BasicSensor01.POWER</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">10</field> <field name="UNIT">min</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="(#0`Y|YSc.|~+Ndn{ybq"><field name="BOOL">FALSE</field></block></value></block></statement> <next><block type="debug" id="D)dP^UBxesUWq[CDO~%3"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="P:qZ`8yHEt`8g)M433J7"><field name="TEXT">geschaltet</field></shadow> <block type="text" id=";?m|f6q@nq*D}6?1Y7Vk"><field name="TEXT">Keine bewegung mehr, lampe schaltet in 5 minuten aus</field></block></value></block></next></block></statement></block></statement></block></xml> !
-
Vielleicht reicht es schon "anerkannt ist" auf "egal" zu stellen `
Hatte ich direkt am Anfang, dadurch wird aber der Auschalttimer nicht wieder "aufgezogen". Mein Wunsch ist es dass bei jeder anliegenden Bewegung* der Ausschalttimer resettet wird auf die voreingestellte Zeit.
*der Ausgang vom PIR Sensor wird bei einer Bewegung für ca 30 Sekunden aktiviert, verlängert sich aber nicht bei erneuter Bewegung. Liegt daran dass ich den Jumper auf dem HC-SR501 nicht entsprechend setzen kann.
-
Wen keine bewegung mehr und lampe ist an, starte 5 minuten timer um lampe aus zu schalten `
In dem Timer wird aber nochmals eine 10 Min. Verzögerung gestartet. Ist das richtig so? -
Wen keine bewegung mehr und lampe ist an, starte 5 minuten timer um lampe aus zu schalten
In dem Timer wird aber nochmals eine 10 Min. Verzögerung gestartet. Ist das richtig so?
Die Verzögerung habe ich herausgenommen und werde das gleich mal testen. Es ist mega praktisch dass man die einzelnen Skripte pausieren kann. Ganz schön tricky die ganze Angelegenheit, aber anhand eines konkreten Beispiels kann man schön die Funktionsweise verstehen/lernen.
Danke schon mal für deine Arbeit
@all
Euch natürlich auch ein Dankeschön für die freundliche Aufnahme und Unterstützung.
Meikel
-
Ich wuerde es so loesen:
bewegungsmelder_lampe_an_aus.JPG
Der trigger ist immer auf den bewegungsmelder, wen bewegung erkannt und lampe ist aus ==> Lampe an
Wen keine bewegung mehr und lampe ist an, starte 5 minuten timer um lampe aus zu schalten
Sollte in der zwischenzeit wieder eine bewegung registriert werden und die lampe ist an wird der 5 minuten timer ausgeschaltet.
Du musst noch in de falls bloecken wert von 1stes object = dein bewegungsmelder, 2tes object = status lampe.
Das kan ich leider nicht weil ich die objecte nicht habe, verstaendlich so ? `
Funktioniert perfekt, hab das Ganze noch etwas angepasst und es sieht jetzt so aus:
! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
! <block type="on_ext" id="Mv!MT1rvco3XETzCuTGB" x="13" y="-63"><mutation items="1"></mutation>
! <field name="CONDITION">ne</field>
! <field name="ACK_CONDITION">true</field>
! <value name="OID0"><shadow type="field_oid" id="ns2?l}nltRiK|jpVC|^F"><field name="oid">sonoff.0.Sonoff_BasicMotion01.POWER</field></shadow></value>
! <statement name="STATEMENT"><block type="controls_if" id="qHht;}xWiBega3|mT1Zv"><mutation elseif="2"></mutation>
! <value name="IF0"><block type="logic_operation" id="[.lNWTlVaR^MLgFJVFIG"><field name="OP">AND</field>
! <value name="A"><block type="logic_compare" id="UPW4@%R5yc:R-T-/3DO"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id="V_x:;.=.[7btwU@rYX1"><field name="ATTR">val</field>
! <field name="OID">sonoff.0.Sonoff_BasicMotion01.POWER</field></block></value>
! <value name="B"><block type="logic_boolean" id="Dlf!ZPX|MO~r+UIdunnG"><field name="BOOL">TRUE</field></block></value></block></value>
! <value name="B"><block type="logic_compare" id="@WEWIGmx54/sp.RX}9R"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id="ERGsA=E?DeaasSiTSsVB"><field name="ATTR">val</field>
! <field name="OID">sonoff.0.Sonoff_BasicSensor01.POWER</field></block></value>
! <value name="B"><block type="logic_boolean" id="BhBbpdv),^6^XZ|^3Woj"><field name="BOOL">FALSE</field></block></value></block></value></block></value>
! <statement name="DO0"><block type="control" id="Gr7sa[#FoRVMpn}Vsw"><mutation delay_input="false"></mutation>
! <field name="OID">sonoff.0.Sonoff_BasicSensor01.POWER</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="logic_boolean" id="tM1D_I8FtZnZx#mX[tT"><field name="BOOL">TRUE</field></block></value>
! <next><block type="debug" id="w=9Azu8gW+TuV9YNYCFd"><field name="Severity">log</field>
! <value name="TEXT"><shadow type="text" id="P:qZ8yHEt
8g)M433J7"><field name="TEXT">geschaltet</field></shadow>
! <block type="text" id="U7|?tPT){*s:UTMK4]("><field name="TEXT">Bewegung Bad Keller erkannt Lampe eingeschaltet</field></block></value></block></next></block></statement> ! <value name="IF1"><block type="logic_operation" id="i*v]sjdQ)Z.6+k3g|/!e"><field name="OP">AND</field> ! <value name="A"><block type="logic_compare" id="PoSE1O0JT#T6^GlBMXo;"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="7?neKzAZJI6i.tp#4_q}"><field name="ATTR">val</field> ! <field name="OID">sonoff.0.Sonoff_BasicMotion01.POWER</field></block></value> ! <value name="B"><block type="logic_boolean" id=":YD/Qacv0%hP;40g?tVe"><field name="BOOL">TRUE</field></block></value></block></value> ! <value name="B"><block type="logic_compare" id="ESU]Nkj?#PANmu1^r
@y"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id="90n-FJ.Vb2g}jAUrZ^li"><field name="ATTR">val</field>
! <field name="OID">sonoff.0.Sonoff_BasicSensor01.POWER</field></block></value>
! <value name="B"><block type="logic_boolean" id="q3cwU9kz%zKQF,BHw*Q"><field name="BOOL">TRUE</field></block></value></block></value></block></value> ! <statement name="DO1"><block type="timeouts_cleartimeout" id="GbSiSCG-y{J+*)yr1-qm"><field name="NAME">timeout</field> ! <next><block type="debug" id="uwi:gPIl}^XI+DR~Ej(U"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="P:qZ
8yHEt8g)M433J7"><field name="TEXT">geschaltet</field></shadow> ! <block type="text" id="ik5V^;3feEBA;O~XM}fE"><field name="TEXT">Bewegung Bad Keller, Lampe ist an auschaltimer stoppen</field></block></value></block></next></block></statement> ! <value name="IF2"><block type="logic_operation" id="x3vz-[H|fD-IQCWJR0T?"><field name="OP">AND</field> ! <value name="A"><block type="logic_compare" id="
^LgI1QsB8NJ80E1Fo^V"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id=",49EyOt6qm4fleul~{-z"><field name="ATTR">val</field>
! <field name="OID">sonoff.0.Sonoff_BasicMotion01.POWER</field></block></value>
! <value name="B"><block type="logic_boolean" id="DB(}[k1xlI4PI!*ZyH-h"><field name="BOOL">FALSE</field></block></value></block></value>
! <value name="B"><block type="logic_compare" id="]Km:JyA#]}OGsxFe6f=+"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id="U7Ol[JR-JN%{3dDUYMtU"><field name="ATTR">val</field>
! <field name="OID">sonoff.0.Sonoff_BasicSensor01.POWER</field></block></value>
! <value name="B"><block type="logic_boolean" id="c5,|+2IndqRJHTY;Wy-"><field name="BOOL">TRUE</field></block></value></block></value></block></value>
! <statement name="DO2"><block type="timeouts_settimeout" id="I0sUAS/_Kb%ipxBR!}0%"><field name="NAME">timeout</field>
! <field name="DELAY">5</field>
! <field name="UNIT">min</field>
! <statement name="STATEMENT"><block type="control" id="uUG(C1wQ%IOnk@8ilY1g"><mutation delay_input="false"></mutation>
! <field name="OID">sonoff.0.Sonoff_BasicSensor01.POWER</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="logic_boolean" id="(#0Y|YSc.|~+Ndn{ybq"><field name="BOOL">FALSE</field></block></value></block></statement> ! <next><block type="debug" id="D)dP^UBxesUWq[CDO~%3"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="P:qZ
8yHEt`8g)M433J7"><field name="TEXT">geschaltet</field></shadow>
! <block type="text" id=";?m|f6q@nqD}6?1Y7Vk"><field name="TEXT">Keine bewegung mehr, lampe schaltet in 5 minuten aus</field></block></value></block></next></block></statement></block></statement></block></xml>Das macht ja richtig Spaß
Wie werden hier die Threads auf "gelöst" gesetzt?
-
Tja, so sind sie die zwei , haben mir auch schon mit ihren Beiträgen sehr geholfen.
Einfach ein "[gelöst]" in den Titel voranstellen.
-
In dem Timer wird aber nochmals eine 10 Min. Verzögerung gestartet. Ist das richtig so? `
Ups nein der muss raus, der timer da drüber reicht sorry
–-----------------------
Send from mobile device
Das schöne ios hat Auto Korrektur zum k****
Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community
-
Oh neue posts übersehen es läuft also super
–-----------------------
Send from mobile device
Das schöne ios hat Auto Korrektur zum k****
Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community
-
Wollte mich noch mal bedanken und mitteilen dass das Skript absolut perfekt funktioniert. Die beiden Sonoffs verrichten auch problemlos ihren Job. Der mechanische Einbau ist jetzt auch abgeschlossen und ich wollte euch mein handwerkliches "Meisterwerk" noch kurz zeigen
GrüßeMeikel
-
Nice!
–-----------------------
Send from mobile device
Das schöne ios hat Auto Korrektur zum k****
Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community