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

Omega

Gerne

Internals:
   Clients    :PCA301:EC3000:RoomNode:LaCrosse:ETH200comfort:CUL_IR:HX2272:FS20:AliRF:Level:EMT7110:KeyValueProtocol
   DEF        192.168.0.28:81
   DeviceName 192.168.0.28:81
   FD         92
   LaCrosseGateway_MSGCNT 38225
   LaCrosseGateway_TIME 2016-01-21 18:01:01
   NAME       LaCrosseGateway
   NR         736
   PARTIAL
   RAWMSG     OK VALUES LGW 16446580 UpTimeSeconds=265217,UpTimeText=3Tg. 1Std. 40Min. 17Sek. ,WIFI=WLAN4Me,MacAddress=18:FE:34:FA:F4:74,ChipID=16446580,ReceivedFrames=81405,FramesPerMinute=15,RSSI=-41,FreeHeap=22104
   STATE      Opened
   TYPE       JeeLink
   Matchlist:
     1:PCA301   ^\S+\s+24
     2:EC3000   ^\S+\s+22
     3:RoomNode ^\S+\s+11
     4:LaCrosse ^(\S+\s+9 |OK\sWS\s)
     5:AliRF    ^\S+\s+5
     6:EMT7110  ^OK\sEMT7110\s
     7:KeyValueProtocol ^OK\sVALUES\s
   Readings:
     2016-01-20 21:45:23   state           opened
Attributes:
   devStateIcon Initialized:cul@green .*:cul@red
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   initCommands 868295#1f 3#1m 20#1t 8842#2r 3,868950,120i 96h 0a v
   room       LaCrosse
   timeout    120,60

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

StefanW

Wow, ist schon super was jetzt alles mit dem LaCrosseGateway funktioniert!

Besteht vllt die Möglichkeit, die EC3000 auch noch zu integrieren?
Dann wäre das LaCrosseGateway die Eierlegendewollmichsau...

Gruß
Stefan

HCS

Zitat von: StefanW am 23 Januar 2016, 08:26:02
Besteht vllt die Möglichkeit, die EC3000 auch noch zu integrieren?
Dann wäre das LaCrosseGateway die Eierlegendewollmichsau...
Eier OK, Wolle und Milch auch OK, Sau=Schwein dann halt auch  ;D ;D
Aber EC3000 - Hmmm....
Das muss ich mir mal anschauen.
Da spricht aber dagegen:
- Ich habe keine EC3000
- Nach WS 1800 habe ich mir fest vorgenommen, nichts mehr zu implementieren, das ich nicht besitze
- lt. Statistik gibt es nur 35 Installationen, die EC3000 verwenden, scheint nicht sehr beliebt zu sein (PCA301 sind es 184)
- Eine kurze Recherche im Forum sagt, dass die Reichweite nicht so gut wäre
- Der EC3000-Sketch ist echt abgefahren, den zu analysieren, was er macht und es im LGW nachzubilden wird lustig

Aber ich will es mal nicht komplett ausschließen, muss es mir mal in Ruhe anschauen, was das konkret bedeuten würde.
Die ganzen Einzelsketche komplett abdecken ist schon verlockend, da einige wohl eh keine Weiterentwicklung erfahren.

Sendet die EC3000 von sich aus oder muss die gepollt werden?
Gibt es Erfahrungen bezüglich der Genauigkeit?




waschbaerbauch

Zitat von: HCS am 23 Januar 2016, 10:59:11
- lt. Statistik gibt es nur 35 Installationen, die EC3000 verwenden, scheint nicht sehr beliebt zu sein (PCA301 sind es 184)

Dann schrauben wir die Statistik mal für die PCA nach oben ;) +1

ext23

Zitat von: HCS am 23 Januar 2016, 10:59:11
Sendet die EC3000 von sich aus oder muss die gepollt werden?
Gibt es Erfahrungen bezüglich der Genauigkeit?

Die senden alle 5 Sekunden. Da man diese nicht schalten kann sind die auch für Geräte geeignet wo ich aus Sicherheitsgründen keine Schaltsteckdose haben möchte, z.B. Kühlschrank. Reichweite, naja ich sage mal genauso beschissen wie bei EM1000 und PCA301...

Bei mir verrichten de JeeLinks und JeeNodes gute Arbeit, daher bin ich an dem Projekt nicht so interessiert, zumal ich kein WLAN mag, das geht bei mir nachts aus. Davon abgesehen können diese ganzen 0815 WLAN Module kein IEEE 802.1X und ich habe keine Lust bei allen Geräten jeden Monat den WPA Key zu ändern. Option wäre ein extra WLAN und bla :-)

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

HCS

Zitat von: ext23 am 23 Januar 2016, 13:06:18
Davon abgesehen können diese ganzen 0815 WLAN Module kein IEEE 802.1X ...
Zumindest EAP-TLS sollte mit dem kommenden 2.1er arduino core für den 8266 gehen.
Aber wenn man das WLAN abschaltet, dann spielt es eh keine so große Rolle.

Man darf das LGW aber nicht nur in Zusammenhang mit WLAN sehen, man kann das WLAN wegkonfigurieren und es per USB an den Server stecken, dann ist es, als ob man einen etwas zu gut geratenen JeeLink hätte ...

Zitat von: ext23 am 23 Januar 2016, 13:06:18Reichweite, naja ich sage mal genauso beschissen wie bei EM1000 und PCA301...
Hmm, interessant, weil meine PCA301 gehen diagonal durchs Haus. Für mich würde das dann bedeuten, dass wenn die Reichweite ungefähr gleich ist, dass EC3000 gar nicht so schlecht ist.

Billy

ZitatHmm, interessant, weil meine PCA301 gehen diagonal durchs Haus. Für mich würde das dann bedeuten, dass wenn die Reichweite ungefähr gleich ist, dass EC3000 gar nicht so schlecht ist.
Also die Test's von Oweh vor 3 Jahren haben den EM1000 deutlich schlechter als den PCA301 bewertet.
Deswegen hab ich keine.
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

santalaus

Hallo,
die kann ich bestätigen. Deshalb haben ubiquity-mpower und PCA301 bei mir den EC3000 abgelöst.
bzw um genauer zu sein: Ich hatte unerklärliche Ausfälle.

Nico

HCS

V1.13

Gerade eingecheckt, ist morgen beim Update dann dabei.

- Erase EEPROM: Ist jetzt 8266e
- Erkennung der Radios verbessert, speziell, wenn man das 1er nicht drauf hat
- Nach einem Reset mit Taster oder einem WDT-Reset funtioniert wifi jetzt
- KVP: Die Versionsnummer des Sketch hinzugefügt
- PCA301: es werden bis zu 50 Dosen unterstützt
- KVP: Daten wie z.B. MacAddress, ChipID usw., die sich nicht ändern, werden nur am Anfang und dann all 30 Minuten gesendet

Erste "offizielle" Beta der PCA301 Implementierung.
PCA301 im LGW funtioniert ähnlich dem PCA301 Sketch, allerding mit einigen systembedingten Abweichungen.
Per default ist PCA301 nicht aktiviert, es muss in den initCommands aktiviert werden. Dazu gibt es das command "i".
<RadioNr>,<Frequenz>,<Poll-Intervall>i
Beispiel: 2,868950,120i initialisiert den zweiten RFM auf 868950 MHz und setzt das Poll-Intervall auf 120 Sekunden
Die Initialisierung kann auch erneut geschickt werden, um das Poll-Intervall zu ändern.
Um die Frequenz nachträglich zu ändern verwendet man das "f" Kommando, also z.B. 868960#2f (Radio Nummer passend zum Radio, das man bei der Initialisierung festgelegt hat)
Man darf aber nur ein Radio für PCA301 initialisieren, nicht mehrere. Und das Radio ist dediziert für PCA301, es kann nicht noch LaCrosse "nebenbei" machen.
Dafür kann man ja aber bis zu drei Radios anschließen.

Man sollte das Poll-Interval nicht extrem runtersetzen (unter eine Minute), da PCA301 sonst LaCrosse verdrängt, es hat Prio, da es bei der Kommunikation
mit den Dosen keine Antworten überhören darf.

Eine komplette Initialisierung eines LGW mit zwei Radios könnte also z.B. so aussehen, wenn man TX29, TX35, PCA301 und BMP180 hat:
attr myJeeLink initCommands 1,868950,120i 3#2m 20#2t 220h 0a v
Das erste Radio macht PCA301 und das zweite toggelt 17241/9579 im 20 Sekunden Takt um TX29 und TX35 zu empfangen und der BMP180 liefert den Druck für 220m Meereshöhe und die LED ist deaktiviert

Es kann sein, das man die Frequenz etwas anpassen mus, wenn das Radio und/oder die Dosen nicht genau auf 868950 liegen.
Man erkennt das daran, dass man entweder gar keine Antwort von den Dosen oder eine verzögerte Antwort bekommt.
Werte von 868960 oder 960970 haben da in manchen Fällen Abhilfe gebracht.

Nachdem PCA301 initialisiert ist, lauscht das LGW auf der entsprechenden Frequenz.
Sobald eine Dose empfangen wurde, wird sie in der Konfiguration (EEPROM) dauerhaft registriert und ab sofort gepollt.
Das polling funtioniert so, dass für jede Dose geschaut wird, wann sie zuletzt empfangen wurde und wenn das länger als das konfigurierte Interval zurück liegt,
dann wird sie abgefragt. Wenn sonst etwas (Basisstation, anderes FHEM) die Dose abgefragt hat und das LGW die Antwort gehört hat, dann gilt das auch als
empfangen und es wird kein eigener Poll für die Dose ausgelöst. Das Zusammenspiel mit einer echten Basisstation konnte ich aber nur grob simulieren, da ich keine habe.

Das Pairing (also die Vergabe eines Kanals) funktioniert wie im PCA301-Sketch, button an der Dose 3 Sekunden drücken, dann vergibt das LGW den nächsten freien Kanal.
Dosen, die bereits einen Kanal haben, kann man das LGW einfach dadurch lernen lassen, dass man sie einmal vorort schaltet. Das LGW erkennt sie und nimmt sie in die
Konfiguration auf. Falls die Dose bereits mit einem anderen Kanal bekannt war, wird der Kanal im LGW aktualisisert.

Auf der Setup-Page im Web-Frontend des LGW kann man die Liste der bekannten Dosen (ID=Kanal) sehen. Man sollte daran aber kein Änderungen vornehmen.

Wenn ein Kommando (Schalten, Daten abfragen, ...) an eine Dose gesendet wurde und keine Antwort kam, wird bereits im Sketch drei mal versucht, eine Antwort zu bekommen.
Aktuell werden maximal 50 Dosen unterstützt.

Das PCA301 Modul in FHEM funktioniert komplett wie bisher
Den restlichen PCA301-Teil in FHEM kann man sich im wiki, PCA301Thread, ... anschauen, hier gibt es keine Unterschiede.

Die Commands, die der PCA301-Sketch kennt, gibt es im LGW nur teilweise:
a "turn activity LED on or off
-> wie bisher
l "list known devices"
-> entfallen, kann man nun im Web-Frontend sehen
q "turn quiet mode on or off"
-> wie bisher
r "list recordings"
-> entfallen
s "send to plug"
-> wie bisher
v "report version and configuration parameters"
-> wie bisher
d, e, p "poll / turn a device on / off"
-> entfallen
h, +, -, # "modify and display RF12 Frequency register"
-> entfallen, ersetzt durch das "i" command bzw. das bereits vorhandene "f" command



fh168

Hallo,

ich habe das mal eben nachgebaut mit zwei RFM69W Transceiver.
Zeigt aber nur einen an. Ist das normal? Oder wird die Anzeige erst upgedatet, sobald das erste Signal vom PCA301 empfangen wird?
model
[LaCrosseITPlusReader.Gateway.1.13 (1=RFM69 f:868300 r:17241) {IP=192.168.178.25}]
initCommands
1,868950,120 3#2m 20#2t 220h 0a v

Lacrosse werden empfangen, sogar sehr gut. Ich habe im Livesystem aber noch einen Jeelink auf einem anderen PI, möglicherweise mögen die sich nicht in Bezug auf PCA301.
LG
/robin
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

HCS

Zitat von: fh168 am 24 Januar 2016, 19:10:28
ich habe das mal eben nachgebaut mit zwei RFM69W Transceiver.
Zeigt aber nur einen an. Ist das normal? Oder wird die Anzeige erst upgedatet, sobald das erste Signal vom PCA301 empfangen wird?
Nein, das ist nicht normal, der muss angezeigt werden, egal ob etwas empfangen wurde oder nicht.
Entweder defekt oder nicht richtig angeschlossen. Vertausche mal den ersten mit dem zweiten um zu sehen, ob er OK ist.

Wenn Du keinen BMP180 oder BME280 dran hast, brauchst Du die 220h nicht.

fh168

ok, das sieht schon besser aus:

model
[LaCrosseITPlusReader.Gateway.1.13 (1=RFM69 f:868300 r:17241) + (2=RFM69 f:868300 t:20~179) {IP=192.168.178.25}]

Für alle anderen, die das nachbauen: ich hatte NSS auch parallel geschaltet, also auf die Pins achten! Jetzt flackert die blaue LED auf dem ESP8266.
Steckdose schalten aber noch nicht, Lacrosse geht ...
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

HCS

Zitat von: fh168 am 24 Januar 2016, 21:54:48
Klappt aber noch nicht ...
Deine initCommands sind falsch
1,868950,120 3#2m 20#2t 220h 0a v

Richtig ist:
1,868950,120i 3#2m 20#2t 220h 0a v

HCS

Genau so falsch wie die, die ich in meine Anleitung geschrieben habe  :o :-[
Ich korrigiere es ...

fh168

Bingo, klappt!

da passen 2 RFMs auf dem "Rücken" vom NodeMCU drauf. Ich mache mal morgen ein Foto. Und was mache ich jetzt mit meinen original Jeelinks ?

LG
/robin
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-