LaCrosseGateway - LaCrosse, PCA301 und EC3000 über wifi mit ESP8266 ohne Arduino

Begonnen von HCS, 07 November 2015, 14:39:36

Vorheriges Thema - Nächstes Thema

PeMue

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

HCS

Zitat von: oli82 am 07 September 2016, 16:38:05
Ich habe einen BME280 bestellt und einen BMP280 geliefert bekommen.
Cool wäre, wenn ich einen BME280 bestelle und einen BMW750 geliefert bekomme  ;D ;D ;D

Zitat von: Hagenuck1 am 07 September 2016, 13:29:42
@HCS da ich gerade im Platinen Thread gelesen habe, dass du in der 1.22 drei Modi, unter anderem einen LAN Modus einbauen wolltest und man das WLAN dann ja nicht mehr bräuchte habe ich da ne kleine Idee.
Halt halt. Das neue FHEM-Modul 36_LaCrosseGateway wird drei Modi unterstützen, um LGWs in der jeweiligen Anbindung optimal zu unterstützen.

Zitat von: Hagenuck1 am 07 September 2016, 13:29:42
Ich weiß nicht, ob du den Amazon DASH Button Thread hier schon mitbekommen hast. Hier gibt es für 5€ nen IO Button, der per WLAN angebunden wird. Ich hatte als ich es gesehen habe direkt die Idee, ob das nicht mit dem LGW, der per LAN angeschlossen ist, kombinieren kann. Der LGW wurde dann einen WLAN Accesspoint öffnen und hier einfach die DHCP Requests abfangen, die die Buttons senden ins Internet mussten die laut aktuellem Stand gar nicht kommen und man könnte sich somit noch nen zusätzliches Endgerät (OpenWRT Router z.B.) sparen, das durchgehend laufen müsste. Justme1968 ist da auch ganz aktiv am mit entwickeln/ testen momentan.
Sorry, aber irgendwie verstehe ich noch nicht, was das Ziel der Aktion sein soll.
Soll das LGW dann ein Gateway zur Anbindung dieser Buttons an FHEM sein?

Hagenuck1

Zitat von: HCS am 07 September 2016, 18:16:19
Halt halt. Das neue FHEM-Modul 36_LaCrosseGateway wird drei Modi unterstützen, um LGWs in der jeweiligen Anbindung optimal zu unterstützen.
Sorry, aber irgendwie verstehe ich noch nicht, was das Ziel der Aktion sein soll.
Soll das LGW dann ein Gateway zur Anbindung dieser Buttons an FHEM sein?

Den entscheidenden Teil habe ich natürlich vergessen, ja das war mein Gedanke, vorausgesetzt auch du hast Interesse an den günstigen Buttons. Würde sich ja wenn man das LGW sowieso in betrieb hätte könnte man es damit noch darum ergänzen die Buttons an FHEM anzubinden, ohne dass jeder auf seinem FHEM mit Python Scripts und den Berechtigungen "basteln" musste, damit man das betätigen der Buttons abfangen kann.



Gesendet von iPhone mit Tapatalk

Stivmaster

Hallo

ich habe den Füllstandssensor https://forum.fhem.de/index.php?topic=23217.0 nachgebaut, und funktionierte auch mit einem normalen Jeelink. Da ich aber jetzt ein Lacross Gateway habe, und ich sowieso Reichweitenprobleme hatte, möchte ich den Levelsender eben auch über das Gateway laufen lassen.

Sehe ich das richtig, das dies noch nicht in der FW implementiert ist?

Ich hänge mal das Log mit an, evtl. sieht man da mehr?

15:51:09: LaCrosse [a7 95 fc fd 1d ] CRC:WRONG
15:51:09: LaCrosse [9b 6 77 37 2b ] CRC:OK S:92c NewBatt:0 Bit12:0 Temp:27.70 Hum:55 WeakBatt:0 CRC:43
15:51:12: LaCrosse [95 6 48 40 7a ] CRC:OK S:914 NewBatt:0 Bit12:0 Temp:24.80 Hum:64 WeakBatt:0 CRC:122
15:51:13: LaCrosse [6c 30 e1 d0 81 ] CRC:WRONG
15:51:14: LaCrosse [92 6 44 40 5c ] CRC:OK S:98 NewBatt:0 Bit12:0 Temp:24.40 Hum:64 WeakBatt:0 CRC:92
15:51:14: LaCrosse [9b 6 77 37 2b ] CRC:OK S:92c NewBatt:0 Bit12:0 Temp:27.70 Hum:55 WeakBatt:0 CRC:43
15:51:15: LaCrosse [95 86 52 3e c8 ] CRC:OK S:916 NewBatt:0 Bit12:0 Temp:25.20 Hum:62 WeakBatt:0 CRC:200
15:51:16: LaCrosse [98 6 58 3c 18 ] CRC:OK S:920 NewBatt:0 Bit12:0 Temp:25.80 Hum:60 WeakBatt:0 CRC:24
15:51:18: LaCrosse [61 40 92 9c 8f ] CRC:WRONG
15:51:20: LaCrosse [95 6 48 40 7a ] CRC:OK S:914 NewBatt:0 Bit12:0 Temp:24.80 Hum:64 WeakBatt:0 CRC:122
15:51:22: LaCrosse [92 6 44 40 5c ] CRC:OK S:98 NewBatt:0 Bit12:0 Temp:24.40 Hum:64 WeakBatt:0 CRC:92
15:51:22: LaCrosse [aa e3 9d 61 c0 ] CRC:WRONG
15:51:22: LaCrosse [9b 6 77 37 2b ] CRC:OK S:92c NewBatt:0 Bit12:0 Temp:27.70 Hum:55 WeakBatt:0 CRC:43
15:51:24: LaCrosse [95 86 52 3e c8 ] CRC:OK S:916 NewBatt:0 Bit12:0 Temp:25.20 Hum:62 WeakBatt:0 CRC:200
15:51:24: LaCrosse [98 6 58 3c 18 ] CRC:OK S:920 NewBatt:0 Bit12:0 Temp:25.80 Hum:60 WeakBatt:0 CRC:24
15:51:27: LaCrosse [78 70 ad bb fb ] CRC:WRONG
15:51:29: LaCrosse [95 6 48 40 7a ] CRC:OK S:914 NewBatt:0 Bit12:0 Temp:24.80 Hum:64 WeakBatt:0 CRC:122
15:51:30: LaCrosse [92 6 44 40 5c ] CRC:OK S:98 NewBatt:0 Bit12:0 Temp:24.40 Hum:64 WeakBatt:0 CRC:92
15:51:31: LaCrosse [9b 6 78 37 b2 ] CRC:OK S:92c NewBatt:0 Bit12:0 Temp:27.80 Hum:55 WeakBatt:0 CRC:178
15:51:32: LaCrosse [95 86 52 3e c8 ] CRC:OK S:916 NewBatt:0 Bit12:0 Temp:25.20 Hum:62 WeakBatt:0 CRC:200


Die Adresse 14,8,2C,16,20 sind TX29 Thermostate.

Die letzte gültige Raw Message mit dem normalen Jeelink sah so aus: OK LS 15 0 10 110 3 212 47 (wobei die Werte da völlig aus dem Ruder sind, da ich grad dran rumgebastelt hab)
Was mir auffäll ist die Länge der Nachricht, sie ist länger im Gegensatz zu ner TX29 Nachricht.

Gibt es da ne Möglichkeit, wie ich das ans laufen bekomme?

Gruß

Stivmaster

HCS

Zitat von: Stivmaster am 10 September 2016, 15:58:51
Sehe ich das richtig, das dies noch nicht in der FW implementiert ist?
Der LevelSender ist bereits seit Begin an implementiert. Funktioniert bei mir auch problemlos.
Bist Du sicher, das Du ihn mit dem JeeLink aktuell noch empfängst?
Wie hast Du denn das Log erzeugt?

Stivmaster

Auf der configseite des esp. Dann muss ich mich noch mal hinsetzen und schauen warum es nicht geht. Das dumme ist nur, dass der rfm12 des levelsenders defekt war, und ich nun den des jeelinks umgelötet habe. Nachlieferung dauert noch (China)
Ich hätte noch einige 433 rfm 12 rumliegen. Meinst würd des funktionieren, wenn ich den rfm69 auf 433 umstell für Testzwecke?

Gesendet von meinem Nexus 5 mit Tapatalk


HCS

Zitat von: Stivmaster am 10 September 2016, 18:43:58
Meinst würd des funktionieren, wenn ich den rfm69 auf 433 umstell für Testzwecke?
Das würde ich nicht tun.

PeMue

Zitat von: HCS am 10 September 2016, 18:27:35
Der LevelSender ist bereits seit Begin an implementiert.
Levelsender? Ich glaube, ich muss mal suchen gehen  ;D
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

HCS


Stivmaster

Sorry, war mein Fehler, hatte übersehen dass es ein extra Analyze commando für den Levelsender gibt.
Der Fehler liegt ganz klar an meinem Sender, ist irgendwo ein Wackelkontakt drauf. Wenn ich die Baugruppe ein wenig hin und her bewege, fängt er mittendrin an zu senden.




Omega

Vor ein paar Tagen hatte ich die Situation, dass das LGW von meinen 2 FHEM-Instanzen aus nicht mehr erreichbar war und ich daher stundenlang folgende Meldungen im Log hatte (mein timeout Attribut enthält den Wert 120,60).


2016.09.10 18:12:35 3: Opening LaCrosseGateway device 192.168.0.28:81
2016.09.10 18:12:38 3: Can't connect to 192.168.0.28:81: Connection timed out
2016.09.10 18:13:38 3: Opening LaCrosseGateway device 192.168.0.28:81
2016.09.10 18:13:41 3: Can't connect to 192.168.0.28:81: Connection timed out
2016.09.10 18:14:42 3: Opening LaCrosseGateway device 192.168.0.28:81
2016.09.10 18:14:45 3: Can't connect to 192.168.0.28:81: Connection timed out
...


Aufgrund der Nichterreichbarkeit von FHEM zum LGW kam auch kein Reset auf der Schnittstelle zum Erfolg.
Leider kann ich nicht sagen, ob das LGW selber noch normal lief oder ob es sich aufgehängt hat.
Erst ein Aus- und Einschalten des LGW hat wieder zu einer funktionierenden Kommunikation geführt.

Schön wäre es, wenn auch auf Seiten des LGW geprüft wird, ob eine bidirektionale Kommunikation mit einem FHEM-Server möglich ist und – falls dies über einen definierbaren Zeitraum nicht möglich ist – einen eigenen Reset auslöst. Ein eigener Watchdog!?

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

HCS

Zitat von: Omega am 12 September 2016, 09:58:14
Schön wäre es, wenn auch auf Seiten des LGW geprüft wird, ob eine bidirektionale Kommunikation mit einem FHEM-Server möglich ist und – falls dies über einen definierbaren Zeitraum nicht möglich ist – einen eigenen Reset auslöst. Ein eigener Watchdog!?
Das kommt dann demnächst dran, wenn ich das 36_LaCrosseGateway Modul erweitere. Da will ich die "timeout 120,60" Geschichte eh ändern auf "lebst Du noch - ja" was dann auch ermöglich, dass LGW rebooten zu lassen, wenn sich keiner mehr drum kümmert, ob es noch lebt. Das war jetzt aber nur das ganz grobe Grobkonzept.

Aktuell sollte eigentlich der WatchDog vom ESP8266 das LGW rebooten, wenn es komplett steht. Aber evtl. ist es ja auch mit gestorbenem DataPort noch im Kreis gelaufen.

HCS

V1.22

WiFi deaktivieren
Man kann nun mit einen 10k pullup auf 3.3V an MOSI == GPIO13 == D7 "jumpern", dass man kein wifi will.
Wenn voranden, wird WiFi sofort beim Start deaktiviert.

WiFi deaktivieren
Neue Konfiguration auf der setup page, ob wifi verwendet werden soll.
Wenn kein WiFi, dann werden die debug Meldungen beim Start unterdrücken.

LED
Wenn WiFi deaktiviert war, hat die LED keine aushgehenden Daten signalisiert

RSSI
Wenn WiFi deaktiviert ist, dann wird als RSSI nicht 31 sonder "Off" gesendet

BME280
Ich habe den Patch von SusisStrolch übernommen (FORCED mode)

Einstellungen abrufen
Man kann auf der seriellen Schnittstelle die aktuellen Einstellungen abrufen.
Das command ist 1g
Man bekommt dann so etwas zurück:
"SETUP ctSSID esesidee; ctPASS PasstWort; staticIP 192.168.31.211; staticMask 255.255.255.0; staticGW 192.168.31.1; HostName LGW211; StartupDelay 1; ISID 0xD3; Altitude 220; CorrT 0; CorrH 0; DataPort1 81; DataPort2 82; SerialBridgePort 85; SerialBridgeBaud 38400; UseMDNS true; IO0 OLED mode=s; IO1 OLED mode=thp; IO2 OLED On; IO3 OLED Off; oledStart 120; KVInterval 10; KVIdentity 211; PCA301Plugs 036180=3,03A094=1,035FF1=6;"
       
Einstellungen setzten
Man kann nun die Einstellungen, die man auf der setup page setzen kann, auch über die serielle Schnittstelle senden.
set myJeeLink213 raw "SETUP ..."
Das ... sind die gewünschten Einstellungen. Es müssen nicht alle Einstellungen gesendet werden sondern nur die, die man setzen will.
Es werden nur die Einstellungen gesetzt und im EEPROM gespeichert, es wird aber kein Reboot ausgelöst.
Einen Reboot kann man mit "set myJeeLink213 raw 8377e" auslösen (oder einfacher mit dem neuen Modul 36_LaCrosseGateway).
Mehrere Einstellungen können durch Semikolon getrennt angegeben werden.
Beispiel: set myJeeLink213 raw "SETUP UseWiFi false; IO0 OLED mode=thp; IO1 OLED Off; CorrT -2.5; ISID 213"
Die Namen der zu setzenden Variablen kann man sich oben rausinterpretieren (siehe "Einstellungen abrufen" 1g)

"Hardware page im Frontend"
Neue page "Hardware" im Frontend, die die erkannte Hardware anzeigt.
- mögliche / gefundene Hardware
- Kalibrierdaten von BME280 und BMP180
- Raw-Values für T, P und H
- ADC-Werte von BME280 und BMP180

"Humidity Plausibilität"
100% werden nun auch als gültig betrachtet


36_LaCrosseGateway.pm
Ab sofort gibt es ein neues FHEM device (physisches Modul) mit dem Namen "LaCrosseGateway", das dass LGW besser unterstützt.
Es kann alternativ als Ersatz für 36_JeeLink verwendet werden und soll es mittelfristig komplett ablösen (nur für LGW, nicht für die JeeLink-Sketche)
Der wesentliche Grund ist, dass das LGW inzwischen nur noch so ungefähr wie ein JeeLink funktioniert und mit einem eigenen Modul besser angesteuert werden kann.
Doku siehe commandRef. Hier die wesentlichen Punkte:
- Bekommt ein LGW auf "initialized", egal ob per WiFi, Kabel oder USB angebunden.

- Attribut "ownSensors" (dispatch / readings / both) mit dem festgelegt werden kann, ob die Werte des internen Sensors (Temperatur, ...)
  dispatch: wie bisher an ein LaCrosse device weitergegeben werden
  readings: als eigene Readings in diesem Device angelegt werden
  both: beides

- Attribut "kvp" (dispatch / readings / both) mit dem festgelegt werden kann, ob die Statuswerte des LGW (RSSI, UpTime, ...)
  dispatch: wie bisher an ein KVP device weitergegeben werden
  readings: als eigene Readings in diesem Device angelegt werden
  both: beides

- Aus set <LGW> reset wurde set <LGW> connect
  da es schon immer keinen Reset gemacht hat, sondern nur versucht, die Verbindung zum LGW (neu) aufzubauen

- Neu: set <LGW> reboot
  Sendet dem LGW ein Kommando (8377e), dass es einen Reboot macht.
  Funktioniert natürlich nur, wenn eine Verbindung zum LGW aufgebaut ist.
 
- Neues Attribut disable
  Wenn disable = 1 dann wird kein connect versucht und eingehende Daten werde nicht dispatched.
  Damit kann man es zu Testzwecken mal vorübergehend abschalten, ohne die Definition löschen zu müssen.
 
- Neues Attribute mode (USB / WiFi / Cable)
  Legt fest, ob das LGW per WiFi (default), USB oder Kabel(USR-TCP232) angebunden ist.
  Daran wird festgemacht, wie bestimmte Dinge (Initialisierung, ...) erledigt werden müssen
 
- Alle Gets sind entfallen, da es keinen gab, der beim LGW Sinn macht.

- Entfallene Sets: beep, led, led-on-for-timer, setReceiverMode

- Entfallene Attribute: tune_..., Beep..., flashCommand

Das ist der erste Anlauf.

Man solle seinen bestehenden JeeLink define recht einfach in einen LaCrosseGateway define umbauen können.

Weitere Dinge wie: flashen eines LGW per USB / USR-TCP232, bessere Überwachung ob es noch lebt, einige der erst mal entfallenen sets (z.B. led) ... stehen auf der (unverbindlichen) Wunschliste


Omega

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

waschbaerbauch

Hab grad mal die V1.22 geflasht - sieht sehr schön aus die Hardware Seite! :)