Neues Modul: ESPEasy [war: ESPEasy ohne MQTT]

Begonnen von dev0, 18 Juli 2016, 11:53:28

Vorheriges Thema - Nächstes Thema

JoWiemann

Tja, dann muss in der ESP Easy ein neuer command implementiert werden. In der aktuellen Liste finde ich nichts: http://www.letscontrolit.com/wiki/index.php/ESPEasy_Command_Reference



Gesendet von iPad mit Tapatalk
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Elektrofreak

#406
Hallo.

Zitat von: JoWiemann am 17 November 2016, 15:55:51
Tja, dann muss in der ESP Easy ein neuer command implementiert werden. In der aktuellen Liste finde ich nichts: http://www.letscontrolit.com/wiki/index.php/ESPEasy_Command_Reference

Das ist ein guter Ansatz. Ich wusste gar nicht, dass es die Command Reference Liste gibt  ::). Und da es diesen Befehl noch nicht gibt, dieser aber einfach zu implementieren sein sollte, habe ich mal ein Feature Request geschrieben  ;D. Dann könnte die Funktionalität über ein DOIF oder ein notify (wenn FHEM den ESP nicht braucht, nach dem Erhalt der Daten bitte in den Sleep Mode schicken) implementiert werden. Dann müsste das ESPEasy-Modul nur einen set-Befehl (z.B. set ESPEasy sleepFor [seconds]) bekommen.

Edit: Ich denke es ist einfacher, den Sleep Mode per command zu pushen/setzen als irgendwie die Check-Box in der kurzen Phase zu manipulieren und dadurch den Sleep Mode zu (de-)aktivieren. Dann müssten die ESPEasy-Developer mehr programmieren  ;).

Hier der Link zu dem Feature Request:
http://www.letscontrolit.com/forum/viewtopic.php?f=2&t=2302

smoudo

Ich habe das Problem das mein sonoff nach Ca. 9min Inaktivität in fhem als absent angezeigt wird.
Sobald ich den Schalter am device drücke ist es sofort wieder da! Jemand eine Idee?
Software ist die R145 RC 5

Grüße

Matze

dev0

Zitat von: smoudo am 18 November 2016, 20:07:16
Ich habe das Problem das mein sonoff nach Ca. 9min Inaktivität in fhem als absent angezeigt wird.
Sobald ich den Schalter am device drücke ist es sofort wieder da! Jemand eine Idee?

Ist die command reference an der Stelle so unverständlich formuliert? Die Frage ist, in diesem Fall, ernst gemeint und nicht rhetorisch ;)
Zitat
presenceCheck
Used to enable/disable presence check for ESPs
Presence check determines the presence of a device by readings age. If any reading of a device is newer than interval seconds than it is marked as being present. This kind of check works for ESP devices in deep sleep too but require at least 1 reading that is updated regularly.

smoudo

#409
So wie ich das verstehe fragt presence Check nach dem gesetzten interval ab und setzt den Status. Bei mir ist das device nach jeder Abfrage absent und erst wieder nach einem betätigen des Schalters am esp erreichbar! Sobald ich beide Attribute auf 0 setze ist der esp dauerhaft da! Allerdings zeigt es mir dann auch nicht an wenn ich den esp vom Netz nehme! WLAN am esp ist stabil da, sleep Mode ist aus.

Update: Habe versucht das ganze mit einem at Befehl zeitgesteuert zu schalten. Auch hier bekomme ich im log einen Timeout angezeigt. Wenn ich den Schaltvorgang nach ein paar Sekunden wiederhole, funktionierts!
Gibt es noch eine Art Standby im esp den man steuern kann? Oder im bridgemodul?
Bin grad ein bisschen ratlos.

Grüße

Matze


Muschelpuster

#410
Zitat von: smoudo am 19 November 2016, 10:37:43So wie ich das verstehe fragt presence Check nach dem gesetzten interval ab und setzt den Status.
So wie ich das sehe, verstehst Du das falsch. Bei jedem Event was vom Device kommt wird quasi die Stoppuhr der Präsenz auf 0 gesetzt und läuft los. Ist die Zeit auf der Stoppuhr größer als der Wert vom Attribut Intervall, dann wird das Device auf Abwesend gesetzt. IMHO läuft da keine Kommunikation mit dem ESP.
Zitat von: smoudo am 19 November 2016, 10:37:43Bei mir ist das device nach jeder Abfrage absent und erst wieder nach einem Betätigen des Schalters am esp erreichbar!
Ich gehe mal davon aus, dass Du meinst, einen der Taster die Du überwachst, nicht Reset o.ä.. Nach dem oben beschriebenen Verfahren der Abwesenheitserkennung ist das ja erst einmal grundsätzlich richtig. Ich gehe auch mal davon aus, dass die Konfig-Seiten des ESP dauerhaft verfügbar sind.
Zitat von: smoudo am 19 November 2016, 10:37:43Sobald ich beide Attribute auf 0 setze ist der esp dauerhaft da! Allerdings zeigt es mir dann auch nicht an wenn ich den esp vom Netz nehme!
Damit das funktioniert braucht es eine zyklische Meldung vom ESP. Das kann man aber ganz leicht realisieren (s. Screenshot im Anhang). Evtl. ist RSSI zur Problembeobachtung viel interessanter, aber was Du sendest ist für Dein Thema erst einmal egal. Bei 45 Sekunden Delay kann man dann das Intervall auf 60 Sekunden setzen und hat eine recht enge Überwachung. Allerdings nicht in dem Taster, sondern in einem extra Device, aber dass kann man ja auf Wunsch miteinander verheiraten.

zyklische Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

smoudo

Danke @Muschelpuster & dev0

ich dachte die Kommunikation geht von fhem aus!
Wieder was gelernt!

Grüße

Matze

dev0

ESPEasy Modulversion 0.71 auf Github verfügbar.

- Modulintern wurde für das presence und state Reading bisher event-on-change-reading angewendet. Meiner jetzigen Ansicht nach ist das aber nicht korrekt, da der Anwender selbst entscheiden sollte, ob Events generiert werden sollen oder nicht und habe es geändert. Bspw. konnten die fehlenden Events bei Loggen von state störend sein.
Mit den globalen Attributen event-on-change-reading, event-on-update-reading, event-min-interval und timestamp-on-change-reading kann nun jeder selbst das gewünschte Verhalten einstellen. Details siehe: readingFnAttributes

- Da ich mehrfach darum gebeten wurde, habe ich eine Möglichkeit ins Modul eingebaut, um auf einfache(?) Weise, RGB Lampen zu steuern: Wenn das Attribut 'rgbGPIOs' definiert ist, dann steht der neue set-Befehl 'rgb' zur Verfügung. Mit dem Attribut 'colorpicker' kann ausgewählt werden, ob das Colorpicker Widget im RGB, HSV oder HSVp Modus angezeigt wird, wenn 'rgb' im Attribute 'webCmd' verwendet wird. In der Command Reference findet sich ein Beispiel zur Verwendung.

- Wie angekündigt, wurde das Attribut uniqIDs entfernt.

PeMue

Zitat von: dev0 am 20 November 2016, 11:38:23
ESPEasy Modulversion 0.71 auf Github verfügbar.
Wenn ich mir die Bilder so anschaue, muss ich doch mal einen ESP hernehmen und schauen, was damit möglich ist  ;D Leider sind momentan andere Dinge wichtiger  :(
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

dev0

#414
Zitat von: PeMue am 20 November 2016, 12:00:53
Wenn ich mir die Bilder so anschaue, muss ich doch mal einen ESP hernehmen und schauen, was damit möglich ist

Ich selbst bin von dieser Modul-RGB Lösung nicht wirklich überzeugt, da es mMn sinnvoller wäre ein ESPEasy Plugin dafür zu schreiben, aber um mich dort tiefer einzuarbeiten fehlt mir auch die Zeit. Das Modul nimmt einfach die RGB Werte und schickt 3 einzelne Kommandos an den ESP. Diese Modul Lösung war aber simple umzusetzen (Dank an Andre(?) für das verwendete color.pm Modul) und funktioniert zumindest bei mir auf dem Steckbrett ;)

Der RGB Plugin Feature Request im ESP Easy Forum ist mit "mit der Hardware nicht möglich" gekennzeichnet ?? Daher vermute ich, dass von den ESP Easy Leuten nichts in dieser Richtung zu erwarten ist. Vielleicht findet sich ja hier jemand, der das übernehmen mag...

Muschelpuster

Vielen Dank in die Mühe, die Du in das Modul steckst. So ist es auch Programmier-Legasthenikern wie mir ein recht einfacher Einstig in die ESP-Welt möglich. RGB eröffnet ja schon wieder neue Möglichkeiten  ;)
Wäre es an dieser Stelle dann aber nicht konsequent, wahlweise auch RGBW zu unterstützen?

dankbare Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

dev0

Zitat von: Muschelpuster am 20 November 2016, 14:48:00
Wäre es an dieser Stelle dann aber nicht konsequent, wahlweise auch RGBW zu unterstützen?

Kann man, dann sollte man aber auch noch WW+CW, Gammakorrektur, Weißabgleich, Fading, Command Queues, usw. unterstützen.

Alles kein Hexenwerk, man muss sich _nur_ damit beschäftigen. Wenn Du (oder jemand anderes) einen Patch schreiben möchtest, nur zu, die meisten Routinen wird man sogar in anderen FHEM Modulen finden. Ausreden ala "Programmier-Legastheniker" lasse ich nicht gelten, denn vor einem Jahr dachte ich auch noch, dass Perl ein billiger Online-Händler wäre.


Elektrofreak

#417
Hallo,

ich habe noch einen bug beim setzen des GPIO-Ausganges gefunden. Irgendwie kann ich über FHEM (set ESP8266 gpio 0 1) nicht den GPIO 0 setzen. Über einen http-command geht es aber. Das müsste also ein bug des FHEM-Modules sein, oder?  ::)

Edit: Die GPIO4 und 5 funktionieren über FHEM... Nur falls jemand fragt, ob es überhaupt klappt  ;D

LG

dev0

Zitat von: Elektrofreak am 21 November 2016, 20:54:01
ich habe noch einen bug beim setzen des GPIO-Ausganges gefunden. Irgendwie kann ich über FHEM (set ESP8266 gpio 0 1) nicht den GPIO 0 setzen.

Gefixed und auf Github eingecheckt.

Elektrofreak

Zitat von: dev0 am 22 November 2016, 05:39:05
Gefixed und auf Github eingecheckt.

Danke, werde ich heute oder morgen Abend ausprobieren  ;)