EasyESP Ölverbrauchsanzeige Rules erneutes Senden GPIO Status

Begonnen von subseven, 11 Mai 2018, 21:35:42

Vorheriges Thema - Nächstes Thema

subseven

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.


RaspiLED

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, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

subseven

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.

RaspiLED

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, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

subseven

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
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