Neues Modul: ESPEasy [war: ESPEasy ohne MQTT]

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

Vorheriges Thema - Nächstes Thema

dev0

Zitat von: smoudo am 17 Dezember 2016, 14:18:55
Frage: was passiert wenn eine Dose kurzzeitig kein wlan hat?
Teste es ausführlich und wenn du der Meinung bist, dass das Modul darauf einen Einfluss hat oder nehmen sollte, dann berichte es hier.

Zitat von: smoudo am 17 Dezember 2016, 14:18:55
Fällt das Relais dann ab?
Wenn es so wäre, dann bitte an die ESPEasy Developer wenden -> www.letscontrolit.com

ralfix

Hallo dev0.
Feines Modul!

Mein erster 'produktiver' UseCase ist ein IR2FHEM-Gateway.
Gebaut mit ESP-01(512k) mit ESPEasy R147_RC8 und TSOP4838.
Geflasht an einem Raspi über die eingebauten UART-Pins.

Eine zusätzliche LED gibt noch per notify eine optische Rückmeldung, wenn FHEM etwas empfangen hat.

Am längsten habe ich gebraucht, um herauszufinden in welcher Reihenfolge man die Pins beschalten muss, um den Flashmode im ESP zu aktivieren.
Der Rest funktionierte dann wie beschrieben.

Gruß Ralf

Waldmensch

Kannst Du deine Lösung in einem separaten Thread vorstellen? Ich habe da großes  Interesse dran, aber eher am IR Senden für die Klimaanlage. In diesem Thread wärs aber OT.


Gesendet von iPhone mit Tapatalk

Waldmensch

Habe Probleme mit einem Dummy Device. Dieses sollte eigentlich 4 Readings en Block liefern. Ist das ein Problem auf ESP Seite?

Verbose 5:
2016.12.20 01:42:50 4 : Connection accepted from espBridge_192.168.178.20_15643
2016.12.20 01:42:50 4 : ESPEasy espBridge_192.168.178.20_15643: Peer address accepted
2016.12.20 01:42:50 5 : ESPEasy espBridge_192.168.178.20_15643: Received header: {'Connection' => 'close','Content-Length' => '222','Host' => '192.168.178.47'}
2016.12.20 01:42:50 5 : ESPEasy espBridge_192.168.178.20_15643: Received content: {"module":"ESPEasy","version":"1.02","data":{"ESP":{"name":"lichtsensor","unit":0,"version":9,"build":146,"sleep":0,"ip":"192.168.178.20"},"SENSOR":{"0":{"deviceName":"collect","valueName":"dunkel","type":1,"value":"1"}}}}
2016.12.20 01:42:50 4 : ESPEasy espBridge_192.168.178.20_15643: No basic authentication required
2016.12.20 01:42:50 4 : ESPEasy espBridge_192.168.178.20_15643: Send http close '200 OK'
2016.12.20 01:42:50 5 : ESPEasy espBridge_192.168.178.20_15643: Dispatch: lichtsensor_collect::192.168.178.20::1::1::1::i||unit||0||0|||i||sleep||0||0|||i||build||146||0|||r||dunkel||1||1
2016.12.20 01:42:50 5 : espBridge dispatch lichtsensor_collect::192.168.178.20::1::1::1::i||unit||0||0|||i||sleep||0||0|||i||build||146||0|||r||dunkel||1||1
2016-12-20 01:42:51 ESPEasy ESPEasy_lichtsensor_collect dunkel: 1
2016-12-20 01:42:51 ESPEasy ESPEasy_lichtsensor_collect dun: 1
2016.12.20 01:42:51 4 : ESPEasy espBridge_192.168.178.20_15643: Closing tcp session.



dev0

#544
Der empfangene JSON String ist vollständig/gültig und der Content-Length Header entspricht den empfangenen Daten -> mehr wurde nicht gesendet.
Hast Du vielleicht unterschiedliche Delays eingetragen?

Waldmensch

Der dummy hat ja nur ein Delay und ist "hart" für 4 Values vorgesehen. Ich fülle ihn per Rule mit den Werten aus den anderen devices, die selber nicht senden sollen (das spart 3 einzelne Übertragungen). Der JSON sieht für mich auch okay aus, nur das 3 values fehlen.


Gesendet von iPhone mit Tapatalk

Waldmensch

MEIN Fehler! Alles Okay! Bin in die Falle getappt und habe "SENSORTYPE SINGLE" gehabt. Mit "QUAD" werden alle 4 Werte gesendet und auch vom Modul verwertet. Das mit dem Dummy Device ist eine tolle Sache, so werden nur 1x Daten statt 4x übertragen. Entsprechend weniger Netzwerktraffic und weniger Arbeit (Events) für FHEM.

2016.12.20 08:59:17 4 : Connection accepted from espBridge_192.168.178.20_2935
2016.12.20 08:59:17 4 : ESPEasy espBridge_192.168.178.20_2935: Peer address accepted
2016.12.20 08:59:17 5 : ESPEasy espBridge_192.168.178.20_2935: Received header: {'Connection' => 'close','Content-Length' => '441','Host' => '192.168.178.47'}
2016.12.20 08:59:17 5 : ESPEasy espBridge_192.168.178.20_2935: Received content: {"module":"ESPEasy","version":"1.02","data":{"ESP":{"name":"lichtsensor","unit":0,"version":9,"build":146,"sleep":0,"ip":"192.168.178.20"},"SENSOR":{"0":{"deviceName":"collect","valueName":"dunkel","type":7,"value":"0"},"1":{"deviceName":"collect","valueName":"licht","type":7,"value":"735"},"2":{"deviceName":"collect","valueName":"RSSI","type":7,"value":"-68"},"3":{"deviceName":"collect","valueName":"Pressure","type":7,"value":"1026"}}}}
2016.12.20 08:59:17 4 : ESPEasy espBridge_192.168.178.20_2935: No basic authentication required
2016.12.20 08:59:17 4 : ESPEasy espBridge_192.168.178.20_2935: Send http close '200 OK'
2016.12.20 08:59:17 5 : ESPEasy espBridge_192.168.178.20_2935: Dispatch: lichtsensor_collect::192.168.178.20::1::1::1::i||unit||0||0|||i||sleep||0||0|||i||build||146||0|||r||licht||735||7|||r||Pressure||1026||7|||r||dunkel||0||7|||r||RSSI||-68||7
2016.12.20 08:59:17 5 : espBridge dispatch lichtsensor_collect::192.168.178.20::1::1::1::i||unit||0||0|||i||sleep||0||0|||i||build||146||0|||r||licht||735||7|||r||Pressure||1026||7|||r||dunkel||0||7|||r||RSSI||-68||7
2016-12-20 08:59:17 ESPEasy ESPEasy_lichtsensor_collect licht: 735
2016-12-20 08:59:17 ESPEasy ESPEasy_lichtsensor_collect Pressure: 1026
2016-12-20 08:59:17 ESPEasy ESPEasy_lichtsensor_collect dunkel: 0
2016-12-20 08:59:17 ESPEasy ESPEasy_lichtsensor_collect RSSI: -68
2016-12-20 08:59:17 ESPEasy ESPEasy_lichtsensor_collect Pre: 1026 RSS: -68 dun: 0 lic: 735
2016.12.20 08:59:17 4 : ESPEasy espBridge_192.168.178.20_2935: Closing tcp session.



Beispiel für die Rule, die den Dummy füllt. Falls es jemand nachmachen möchte
on helligkeit#licht do
TaskValueSet 4,2,[helligkeit#licht]

if [helligkeit#licht]<200
   TaskValueSet 4,1,1
endif
if [helligkeit#licht]>300
   TaskValueSet 4,1,0
endif
endon
on rs#RSSI do
TaskValueSet 4,3,[rs#RSSI]
endon
on druck#Pressure do
TaskValueSet 4,4,[druck#Pressure]
endon

sash.sc

Coole nummer mit den Dummys und den rules. Das haben die in der espeasy 147rc8 noch nicht drin.

Von mobil gesendet daher kurze Antwort

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

dev0

Zitat von: sash.sc am 20 Dezember 2016, 09:34:51
Coole nummer mit den Dummys und den rules. Das haben die in der espeasy 147rc8 noch nicht drin.
Beides gibt es schon länger, siehe Releasenotes.

Waldmensch

Zitat von: sash.sc am 20 Dezember 2016, 09:34:51
Coole nummer mit den Dummys und den rules. Das haben die in der espeasy 147rc8 noch nicht drin.

Du hast vermutlich die Rules nicht eingeschaltet. Versteckt sich in den advanced Settings ganz unten

sash.sc

Ok. Danke für den Hinweis

Von mobil gesendet daher kurze Antwort

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Omega

Danke für dein Modul – finde ich prima und es erleichtert einem eine ganze Menge.

Bei meinen 1. Versuchen habe ich u.a. einen BME280 angeschlossen. Funktioniert so weit auch ganz gut. Nur die Anzeige in FHEM passt nicht (im STATE).
Ich habe sogar extra ein stateFormat definiert. Das kommt aber nicht zur Anwendung (oder wird überschrieben).


Internals:
   DEF        192.168.0.40 80 espBridge 1Wire_1_BME280
   ESP_BUILD  147
   ESP_SLEEP  0
   ESP_UNIT   2
   HOST       192.168.0.40
   IDENT      1Wire_1_BME280
   INTERVAL   300
   IODev      espBridge
   LASTInputDev espBridge
   MSGCNT     2
   NAME       ESPEasy_1Wire_1_BME280
   NOTIFYDEV  global
   NR         884
   NTFY_ORDER 50-ESPEasy_1Wire_1_BME280
   PORT       80
   STATE      T: 22.5 D: 8.6
   SUBTYPE    device
   TYPE       ESPEasy
   VERSION    0.78
   espBridge_MSGCNT 2
   espBridge_TIME 2016-12-22 15:08:01
   Readings:
     2016-12-22 15:08:01   H               41
     2016-12-22 15:08:01   P               1029
     2016-12-22 15:08:01   T               22.5
     2016-12-22 15:05:55   presence        present
     2016-12-22 15:08:01   state           H: 41 P: 1029 T: 22.5
   Helper:
     fpc        1482415632.13661
     Intat:
       1:
         FN         ESPEasy_statusRequest
         INTERVAL   304
         TRIGGERTIME 22.12.2016 15:12:15
     Received:
       H          1482415681.04625
       P          1482415681.04766
       T          1482415681.04696
Attributes:
   IODev      espBridge
   Interval   300
   group      ESPEasy Device
   presenceCheck 1
   readingSwitchText 1
   room       ESPEasy
   setState   3
   stateFormat Temp: T, Feuchte: H, Druck: P


Aufgrund des ,,D: 8.6 " im STATE könnte ich mir vorstellen, dass es in Verbindung mit dem Modul dewpoint (berechnet den Taupunkt aufgrund von Temperatur und Luftfeuchte in Ereignissen, die von allen Geräten erzeugt wurden die diese Werte ausgeben und ergänzt mit diesem Wert den Status STATE) zu Konflikten kommt. Das Modul habe ich auch im Einsatz und so definiert wie als Beispiel in der Commandref beschrieben:

define dew_state dewpoint dewpoint .* T H D

NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

dev0

- Du kannst mit dem Attribut setState die Erstellung des Reading state auch abschalten. Das Internal STATE wird vom Modul nicht angefasst: stateFormat funktioniert.
- Das Modul Dewpoint kann auch x beliebige Readings verwenden und ist nicht auf state/STATE angewiesen.
- Wurde alles schon in diesem Thread beschrieben ;)

Ascoban

Hallo,

Ich habe das Problem wenn ich im EspEasy die Controller IP eingetragen habe, das sich der  ESP nach einem neustart nicht mehr mit dem Wlan verbindet.
Bekomme aber vor dem neustart die Werte in Fehm angezeigt.

Hat Jemand eine Idee wo dran das liegen könnte?

EspEasy Build 147 und

Waldmensch

Nicht das er vom Router eine andere IP bekommen hat? Im der Fritte kann man ein Häkchen setzen "immer diese IP geben". Oder halt mit festen IP's arbeiten.


Gesendet von iPhone mit Tapatalk