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

hoods

Hallo zusammen,

habe gerade das LaCrosseGateway auf Basis eines ESP 12E und RFM69CW aufgesetzt und in Fhem eingebunden - das klappte schon mal super! Vielen Dank an der Stelle für die tolle Arbeit.

Zur Aufgabenstellung: Mein Jeelink erreicht nicht alle Sensoren zuverlässig, da die TX29 über 2 Stockwerke verteilt sind. Daher ursprünglich die Idee einen Jeelink im Relay Betrieb einzusetzen (leider hat das nicht zuverlässig funktioniert) und so bin ich über das LaCrosseGateway gestolpert.

Jeelink, TX29 Sensoren und LaCrosseGateway sind nun auf einem raspberrypi 2 eingebunden.

1. Sollte ich nach dem pairing mittels LaCrosseGateway nun alle Sensoren doppelt sehen oder kommunizieren Jeelink und LaCrosseGateway irgendwie? Ein Device vom Type KeyValueProtocol und ein mir unbekannter LaCrosse Sensor wurden hinzugefügt aber mehr bisher nicht.

2. Kann man das LaCrosseGateway auch im Relay Betrieb einsetzen? Ich habe mal versuchshalber "1y" im Attribut initCommands des LaCrosseGateway übergeben und sehe auch im Device (siehe unten) Jeelink und LaCrosseGateway Einträge aber was das wirklich zu bedeuten ist mir nicht ganz klar.

3. Sollte relay Betrieb nicht implementiert sein, könnte man mehrere Gateways zusammenfassen ähnlich VCCU?

Wäre super wenn einer der Experten ein wenig Licht ins Dunkel bringen könnte.

Internals:
   CFGFN     
   Clients    LaCrosse
   DEF        192.168.178.38:81
   DeviceName 192.168.178.38:81
   FD         21
   NAME       myLaCrosseGateway
   NR         29368
   NTFY_ORDER 50-myLaCrosseGateway
   PARTIAL   
   RAWMSG     OK 9 42 1 4 22 87
   STATE      initialized
   TIMEOUT    0.5
   TYPE       LaCrosseGateway
   model      LaCrosseITPlusReader.Gateway.1.30
   myLaCrosseGateway_MSGCNT 3611
   myLaCrosseGateway_TIME 2018-01-06 18:12:02
   nextOpenDelay 2
   settings   (1=RFM69 f:868300 r:17241) {IP=192.168.178.38}]
   MatchList:
     1:PCA301   ^\S+\s+24
     2:EC3000   ^\S+\s+22
     3:LaCrosse ^(\S+\s+9 |OK\sWS\s)
     4:EMT7110  ^OK\sEMT7110\s
     5:Level    ^OK\sLS\s
     6:KeyValueProtocol ^OK\sVALUES\s
   READINGS:
     2018-01-06 18:12:01   FramesPerMinute 65
     2018-01-06 18:12:01   FreeHeap        17376
     2018-01-06 18:12:01   OLED            none
     2018-01-06 18:12:01   RSSI            -66
     2018-01-06 18:12:01   ReceivedFrames  2264
     2018-01-06 18:12:01   UpTime          0Tg. 0Std. 38Min. 35Sek.
     2018-01-06 18:12:01   UpTimeSeconds   2315
     2018-01-06 18:12:02   state           initialized
   helper:
Attributes:
   Clients    LaCrosse
   group      LaCrosse
   icon       cul_wlan
   initCommands 1y 0#1r v
   kvp        both
   mode       WiFi
   ownSensors both
   room       Gateways
   usbFlashCommand ./FHEM/firmware/esptool.py -b 921600 -p [PORT] write_flash -ff 80m -fm dio -fs 4MB-c1 0x00000 [BINFILE] > [LOGFILE]




Internals:
   CHANGED   
   DEF        27
   IODev      myJeeLink
   LASTInputDev myLaCrosseGateway
   LaCrosse_lastRcv 2018-01-06 18:11:07
   MSGCNT     9963
   NAME       Wasserwaechter_Bad
   NR         52
   STATE      T: 21
   TYPE       LaCrosse
   addr       27
   battery_new 1
   corr1      0
   corr2      0
   myJeeLink_MSGCNT 9750
   myJeeLink_RAWMSG OK 9 39 130 2 183 125
   myJeeLink_TIME 2018-01-06 18:11:07
   myLaCrosseGateway_MSGCNT 378
   myLaCrosseGateway_TIME 2018-01-06 18:11:07
   previousH  106
   previousH2 125
   previousT  21
   previousT2 -30.4
   sensorType 0=T(H)
   READINGS:
     2018-01-06 18:11:07   Wasseralarm     no
     2018-01-06 18:11:07   battery         ok
     2018-01-06 17:12:56   state           T: 21
     2018-01-06 18:10:54   temperature     21
     2018-01-06 18:11:07   temperature2    -30.5
Attributes:
   IODev      myJeeLink
   event-min-interval state:60,temperature:600,temperature2:60,battery:3600
   event-on-change-reading .*
   room       Sensoren
   userReadings Wasseralarm { ReadingsNum("Wasserwaechter_Bad","temperature2",0) > -10 ? 'yes' : 'no' }


Vielen Dank, Sven
Odroid C2, FHEM 5.8, HMUSB, Jeelink, Rademacher DuoFern Stick, Benning WR über HTTPMOD

HCS

Zitat von: hoods am 06 Januar 2018, 18:25:10
1. Sollte ich nach dem pairing mittels LaCrosseGateway nun alle Sensoren doppelt sehen...
Nein. Ein Sensor ist durch seine ID eindeutig und wird nicht doppelt angelegt, auch wenn er von unterschiedlichen Devices empfangen wird.

Zitat von: hoods am 06 Januar 2018, 18:25:10
1. ...oder kommunizieren Jeelink und LaCrosseGateway irgendwie?
Nein, das wird in FHEM geregelt.
Wenn mehrere Devices (z.B. zwei LGW und ein JeeLink) den Sensor empfangen, eliminiert FHEM auch automatisch doppelt eingegangene Datenpakete

Zitat von: hoods am 06 Januar 2018, 18:25:10
2. Kann man das LaCrosseGateway auch im Relay Betrieb einsetzen?
Nein, das LGW kann das nicht.

Zitat von: hoods am 06 Januar 2018, 18:25:10
3. Sollte relay Betrieb nicht implementiert sein, könnte man mehrere Gateways zusammenfassen ähnlich VCCU?
Keine Ahnung, was VCCU ist, aber man kann beliebig viele LGWs laufen lassen, habe auch mehrere hier verteilt.
Der Doppelempfang von Daten wird in FHEM geregelt, siehe oben. Man muss bei mehreren LGWs, die man laufen hat, nichts weiter tun.

HCS

V1.31

UniversalSensor
Das LGW kann nun das UniversalSensor-Protokoll verarbeiten, das angelehnt an LaCrosse:
- Temperatur
- Feuchte
- Regenmenge
- Windrichtung
- Windstärke
- Windböen
- Luftdruck
- Zwei Gas-Werte
- Helligkeit
- Spannung
- Versionsnummer
- Einen drei Byte debug-Wert
mit CRC16 abgesichert empfangen und an das LaCrosse-Modul weiterreichen kann.

Damit ist es möglich, selbst entwickelte Sensoren anzubinden, ohne auf FHEM-Seite etwas tun zu müssen.
Das zu sendende Prtokoll siehe UniversalSensor.cpp

BME680
Ein per I2C angeschlossener BME680 (Adresse 0x76) wird automatisch erkannt und seine Werte (Temperatur, Luftfeuchtigkeit, Luftdruck und vom Gassensor gelieferter Widerstand) werden wie bei einem BME280 an das LGW und ggf. ein nachgelagertes LaCrosse-Device übermittelt.
Es findet keine IAQ-Berechnung statt, man muss also auf FHEM-Seite die Widwerstandswerte selbst in irgend einer Form interpretieren.

Nachkommastellen (optional) für den Luftdruck
Auf der Setup-Page des LGW kann nun konfiguriert werden, ob der Luftdruck mit Nachkommastellen übermittelt wird.

WiFi-Connect-Fehler bei Starup-Delay behoben
Mit einem Startup-Delay von 30 Sekunden schlug jeder zweite connect-Versuch zum AP fehl.

Ist eingecheckt, wird ab morgen vom FHEM-Update ausgeliefert.

franky08

ZitatNachkommastellen (optional) für den Luftdruck
Auf der Setup-Page des LGW kann nun konfiguriert werden, ob der Luftdruck mit Nachkommastellen übermittelt wird.

:) :)
Danke,
VG Frank
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

PeMue

Hallo HCS,

Zitat von: HCS am 14 Januar 2018, 19:21:45
BME680
Ein per I2C angeschlossener BME680 (Adresse 0x76) wird automatisch erkannt und seine Werte (Temperatur, Luftfeuchtigkeit, Luftdruck und vom Gassensor gelieferter Widerstand) werden wie bei einem BME280 an das LGW und ggf. ein nachgelagertes LaCrosse-Device übermittelt.
Es findet keine IAQ-Berechnung statt, man muss also auf FHEM-Seite die Widwerstandswerte selbst in irgend einer Form interpretieren.

ZitatWenn ein BME280 vorhanden ist, wird dieser verwendet und sonst nichts, da man dann bereits Temperatur, Feuchte und Druck hat.
Ist kein BME280 vorhanden, wird geschaut, ob ein BMP180 vorhanden ist. Falls ja, haben wir Druck und Temperatur.
Dann wird geschaut, ob ein DHT22 vorhanden ist. Wenn ja, wird er zusätzlich verwendet, aber vom BMP180 dann nur noch der Druck.
Temperatur und Feuchte vom DHT22, dass dieses Wertepaar von einem Sensor stammt.
Wenn kein BMP180 und kein BME180 da ist, sondern nur ein DHT22, dann hat man Temperatur und Feuchte.
Wenn nichts vorhanden ist (also keiner der bisher genannten Sensoren), wird, falls vorhanden, der LM75 verwendet.
Wie ist das mit dem BME680? Wenn BME680 (auf 0x76) erkannt wird, dann wird nicht mehr nach einem zusätzlichen Sensor gesucht, korrekt? Dann würde ich nämlich auf den Platinen den BME680 fest auf 0x76 verdrahten und ggf. dem BME280 auf der LGW Platine fest 0x77 zuweisen ...

Danke + Gruß

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: PeMue am 16 Januar 2018, 17:03:23
Wie ist das mit dem BME680? Wenn BME680 (auf 0x76) erkannt wird, dann wird nicht mehr nach einem zusätzlichen Sensor gesucht, korrekt? Dann würde ich nämlich auf den Platinen den BME680 fest auf 0x76 verdrahten und ggf. dem BME280 auf der LGW Platine fest 0x77 zuweisen ...
Das würde ich nicht tun.
Das LGW versucht auf 0x76 zuerst einen BME680 zu erkennen, und falls keiner da ist, versucht es auf 0x76 einen BME280 zu erkennen.
Unabhängig davon, also egal ob BME680, BME280 oder keiner erkannt wurde, versucht es einen BMP180 auf 0x77 zu erkennen.
Auf der Platine sollte sowohl BME680 als auch BME280 auf 0x76 gesetzt sein und man darf nur einen der beiden bestücken.

HCS

Zitat von: PeMue am 16 Januar 2018, 17:03:23
ZitatWenn ein BME280 vorhanden ist, wird dieser verwendet und sonst nichts, da man dann bereits Temperatur, Feuchte und Druck hat.
Ist kein BME280 vorhanden, wird geschaut, ob ein BMP180 vorhanden ist. Falls ja, haben wir Druck und Temperatur.
Dann wird geschaut, ob ein DHT22 vorhanden ist. Wenn ja, wird er zusätzlich verwendet, aber vom BMP180 dann nur noch der Druck.
Temperatur und Feuchte vom DHT22, dass dieses Wertepaar von einem Sensor stammt.
Wenn kein BMP180 und kein BME180 da ist, sondern nur ein DHT22, dann hat man Temperatur und Feuchte.
Wenn nichts vorhanden ist (also keiner der bisher genannten Sensoren), wird, falls vorhanden, der LM75 verwendet.
Das Zitat bezieht sich nicht auf das Suchen von Sensoren sondern darauf, welcher Wert von welchem erkannten Sensor genommen und alle 10 Sekunden ausgeliefert wird.
Besonders für den Fall, dass mehrere Sensoren vorhanden sind.

PeMue

Zitat von: HCS am 16 Januar 2018, 17:10:02
Das würde ich nicht tun.
Ok, dann BME680 auf 0x76 bzw. BME280 auf 0x76, kein BMP180 (oder vielleicht kriege ich den noch drauf  ??? den aber auf 0x77 (aber der sollte eh fest programmiert sein ???)).

Danke + Gruß

Peter
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

jostereo

Hallo zusammen,

hätte auch noch ein Frage bezüglich dem Vorgehen einer "Ersetzung" eines JeeLinks für PCA301 zu dem LaCrosseGateway.

Ausgangssituation:

Habe 2 PCA301 Steckdosen im Keller. Seit ca. 1 Jahr Empfang per Jeelink (Leider Empfangsprobleme sobald die Tür zum Kellerraum geschlossen wird).

Meine Idee:

Ich setze im Keller das LaCrosseGateway ein um die PCA301 zu empfangen.
Den JeeLink lass ich weiter aktiv für den anderen Dosen OG, DG.

Habe das Gateway auch auf die neueste Version geflasht und in FHEM mit dem Attribute "initCommands 1,868950,120i v" belegt.
Mein Gateway hat nur 1 Radio.
Gateway wurde von FHEM erkannt.


Frage:

Wie sage ich nun FHEM/Gateway/PCA301 Dose im Keller, das sie doch bitte über das Gateway kommunizieren?

Per Schalter an der Dose habe ich die beiden Dosen schon geschaltet und gehofft, das dann das Gateway die Daten empfängt.
Das scheint leider so nicht zu funktionieren.

Kann mir jemand sagen, wie ich vorgehen muss wenn ich PCA301 Dosen bereits in FHEM integriert habe und diese dann vom Jeelink auf das Gateway "umziehen" will?


Gruß,

jostereo

pc1246

Hallo jostero
Siehst du im WebIF des LCG die Steckdosen? Wenn ja, ist erstmal alles gut, ansonsten solltest du da noch mal nachlesen. Das Umstellen geschieht einfach, indem Du den Steckdosen das IODev vorgibst. Derzeit wird da noch der Jeelink drinstehen, das musst du gegen das LCG austauschen!
Gruss Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

jostereo

Hi pc1246,

wenn ich im Gateway unter "Setup" da in das Textfeld "PCA301" schaue, ist dieses leer.

Das sollte denke ich nicht sein.

Unter Hardware steht bei "Radio #1" -> RFM69  868950 kHz  data rate: 6631kps

Das sagt meiner Meinung schonmal aus das er das initCommand für PCA301 geschluckt hat.

Muss ich dann an den beiden PCA301 Dosen das Attribute "IODev" auf das Gateway umbiegen?
Da steht aktuell natürlich noch die JeeLinks drin.

Gruß,

jostereo

pc1246

Hallo jostereo
Also die PCAs tauchen "eigentlich" von alleine in dem Fenster auf! Es wurde mal geschrieben man muss lange druecken, aber bei mir ging es auch so! Wenn sie dem GW bekannt sind, dann kannst Du dieses IO auch an die Devices antragen und sie schalten dann. Das hat bei mir wunderbar geklappt.
Verwehte Gruesse
Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

HCS

Wenn die PCA301 schon mal irgendwo angelernt waren (was sie ja wohl sind), reicht es, sie ein mal zu schalten, dass das LGW sie erkennt und mit Adresse und Kanal im webif aufführt. Solange das nicht geklappt hat, ist eine weitere Fehlersuche auf FHEM-Seite erst mal nutzlos.

Lange drücken muss man nur, wenn sie noch keinen Kanal haben oder man einen anderen bekommen will.

Saharel

Zitat von: Saharel am 29 November 2017, 21:48:01
Hi,

mir ist aufgefallen das am nextion Display der UpTime Wert nur mit dem letzten Wert der Home Seite des Gateways befüllt wird.
Solange ich die Webseite nicht aufrufe bzw. aktualisiere wird der Wert am nextion nicht aktualisiert.

Ist das so gewollt?
Zitat von: HCS am 30 November 2017, 09:25:55
Das war nicht gewollt. Ich nehme es auf die ToDo-Liste.

Ich habe einen Workaround via fhem geschaffen.
Einfach alle 60 sec per HTTPMOD die Haupteite abfragen, geht aber nur wenn kein PW auf dem Webinterface hinterlegt ist.

Nicht schön aber funktioniert ;)

HCS

Zitat von: Saharel am 19 Januar 2018, 07:29:41
Ich habe einen Workaround via fhem geschaffen.
Einfach alle 60 sec per HTTPMOD die Haupteite abfragen, geht aber nur wenn kein PW auf dem Webinterface hinterlegt ist.
Ich habe es auf der ToDo, bin aber noch nicht dazu gekommen, es zu erledigen ...