FHEM Forum

Verschiedenes => Bastelecke => ESP Familie => Thema gestartet von: subseven am 11 Mai 2018, 21:35:42

Titel: EasyESP Ölverbrauchsanzeige Rules erneutes Senden GPIO Status
Beitrag von: subseven am 11 Mai 2018, 21:35:42
Hallo zusammen,

wie kann ich den Status eines Devices oder GPIO erneut senden? Mit EasyESP habe ich die Ölverbrauchsaneige aus dem Wiki nachgebaut, was soweit gut funktioniert.
Um Strom zu sparen soll das Wifi am ESP nur eingeschaltet werden, wenn er den Status sendet.
Mittels Rules aktiviere und deaktiviere ich Wifi.
Mein Problem ist, dass ich den Status des GPIO nutzen muss um Wifi zu aktivieren. Bis die Verbindung hergestellt ist kommt der Status nicht mehr im FHEM an.

Ein (ESP)Dummy-Switch funktioniert nicht, da dieser ein Sende-Interval verlangt. Kennt ihr einen Weg den Status erneut zu senden?
Eine Reboot und dann "Send Boot state:" funktioniert leider auch nicht, da wenn GPIO-2(D4) beim Booten auf Masse gezogen ist der ESP nicht startet.

Titel: Antw:EasyESP Ölverbrauchsanzeige Rules erneutes Senden GPIO Status
Beitrag von: RaspiLED am 12 Mai 2018, 09:05:51
Hi,
bin mit nicht zu 100% sicher, aber ging das nicht mit TaskRun <TaskID>?

Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Titel: Antw:EasyESP Ölverbrauchsanzeige Rules erneutes Senden GPIO Status
Beitrag von: subseven am 12 Mai 2018, 14:37:54
Danke für den Hinweis, damit klappt mein Vorhaben.
Ich hatte die Command_Reference so gelesen, dass es nur als internes Kommando verwendet werden kann und nicht im Zusammenhang mit Regeln. Vielen Dank!

Weshalb der ESP nicht bootet, wenn der Kontakt auf Masse liegt bleibt mir zar dennoch ein Rätsel.
Titel: EasyESP Ölverbrauchsanzeige Rules erneutes Senden GPIO Status
Beitrag von: RaspiLED am 12 Mai 2018, 15:04:31
Hi,
Hatte ich überlesen! Schau Dir mal die Boot States der GPIO an. D4 low am Wemos D1 Mini ist SD Card Bootmode oder?
https://zoetrope.io/tech-blog/esp8266-bootloader-modes-and-gpio-state-startup/
Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Titel: Antw:EasyESP Ölverbrauchsanzeige Rules erneutes Senden GPIO Status
Beitrag von: subseven am 13 Mai 2018, 20:17:19
Ich habe jetzt einfach D7 (GPIO weis ich gerade nicht und der ESP ist im DeepSleep) verwendet. Wenn die Heizungspumpe ein Schaltet wird ein Relaise  geschaltet und der Eingang D7 auf Masse gezogen. Gleichzeitigt wird ein Kondensator über das Relais mit Masse verbunden. Die andere Seite des Kondensators ist mir RST verbunden.
RST bekommt dadurch einen kurzen Impuls und der ESP wird gewecket. Das Gleiche passiert wenn die Pumpe wieder ausschaltet . der ESP wird über einen Impuls geweckt.
In beiden Fällen wird der Status von D7 beim Aufwachen durch einen Timer nach 5 Sekunden übertragen. In den Rules steht nun folgendes:

on System#Wake do
timerSet,1,5 // Timer 1 nach 5 Sekunden
endon
on Rules#Timer=1 do
TaskRun 1 //Device 1 ist HeizPumpe
endon


Die Schaltung ist an dieses:
https://www.letscontrolit.com/wiki/index.php/EasyNotifications (https://www.letscontrolit.com/wiki/index.php/EasyNotifications)
Beispiel angelehnt. Nur das ich als Widerstand einen 330k und als Kondensator einen 100uF genommen (Was halt so da war). Der Kondensator entäd sich schnell genug um bereit zu sein, wenn die Heizung ihren Status ändert.
Bei 5V Spannung liegt der Stromverbrauch bei 0,32mAh im Deepsleep und bei 78mAh wenn er Datensendet.

Grüße und Vielen Dank für eure Hilfe