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

HCS

Zitat von: pc1246 am 31 Dezember 2016, 17:26:27
Na nun stell Dich mal nicht so an!
Ist ja noch so viel Zeit bis 23:59:59
Ich habe ja bis 23:59:58 gebraucht, um den Patch zu patchen, dass ihn Tortoise verarbeitet  :o

Zitat von: Wallmeier am 31 Dezember 2016, 15:01:28
2ndSerialBridge.patch: Fügt die Unterstützung für einen weiteren SC16IS750 hinzu (inkl. SerialBridge, SubProcessor und OTA-Update)
Habe ich in die 1.25 reingenommen und testweise mal einen weiteren NanoCUL drangehängt, läuft.
Das hast Du sauber eingebaut, gefällt mir sehr gut und ich habe nur ganz geringe kosmetische Anpassungen gemacht.

Zitat von: Wallmeier am 31 Dezember 2016, 15:01:28
SerialBridgeMultiClients.patch: baut auf dem ersten Patch auf und erlaubt beliebig viele Clients, die sich zu der SerialBridge verbinden können.
Schaue ich mir dann auch noch an.

Wenn ich beide drin habe, haue ich zeitnah eine 1.25 raus.

Wallmeier

Zitat von: HCS am 01 Januar 2017, 22:39:02
Habe ich in die 1.25 reingenommen und testweise mal einen weiteren NanoCUL drangehängt, läuft.
Das hast Du sauber eingebaut, gefällt mir sehr gut und ich habe nur ganz geringe kosmetische Anpassungen gemacht.

Das freut mich zu hören :)

Zitat von: HCS am 01 Januar 2017, 22:39:02
Schaue ich mir dann auch noch an.

Wenn ich beide drin habe, haue ich zeitnah eine 1.25 raus.

Anbei noch ein weiterer Patch: SoftSerialBridgeMultiClients.patch . Dieser rüstet das Feature, dass sich mehrere Clients auf den Port verbinden können auch für die SoftSerialBridge nach. Das eigentliche TCP-Socket-Handling habe ich dafür in eine eigene Klasse TcpServer ausgelagert, die jetzt sowohl von der SerialBridge als auch der SoftSerialBridge genutzt werden.

HCS

Zitat von: Wallmeier am 01 Januar 2017, 23:15:44
Anbei noch ein weiterer Patch
Könntest Du die patches so erstellen, dass ich sie mit Tortoise verarbeiten kann?
Das würde es mir deutlich einfacher machen.

Betrifft dann aber nur noch den SoftSerialBridgeMultiClients.patch
Baut der auf dem SerialBridgeMultiClients.patch auf oder ersetzt der ihn komplett?

Die header der files anstatt so:
diff -Naur LaCrosseGateway_2ndSerialBridgeMultiClients/HardwarePageBuilder.cpp LaCrosseGateway/HardwarePageBuilder.cpp
--- LaCrosseGateway_2ndSerialBridgeMultiClients/HardwarePageBuilder.cpp   Sat Dec 31 13:46:45 2016
+++ LaCrosseGateway/HardwarePageBuilder.cpp   Sun Jan  1 22:08:44 2017
@@ -42,7 +42,7 @@
   return result;
}

....



So:

--- HardwarePageBuilder.cpp
+++ HardwarePageBuilder.cpp
@@ -42,7 +42,7 @@
   return result;
...


Wallmeier

Zitat von: HCS am 01 Januar 2017, 23:40:27
Könntest Du die patches so erstellen, dass ich sie mit Tortoise verarbeiten kann?
Das würde es mir deutlich einfacher machen.

Klar doch - schaue ich mir heute Abend in Ruhe an, wie ich das diff Kommando aufrufen muss, damit es das Format liefert, so dass Tortoise direkt damit zurecht kommt.

Zitat von: HCS am 01 Januar 2017, 23:40:27
Betrifft dann aber nur noch den SoftSerialBridgeMultiClients.patch
Baut der auf dem SerialBridgeMultiClients.patch auf oder ersetzt der ihn komplett?

Aktuell baut der Patch SoftSerialBridgeMultiClients.patch auf den SerialBridgeMultiClients.patch auf. Wenn ich Dir den Patch eh heute Abend neu baue, kann ich ihn aber so bauen, dass er den SerialBridgeMultiClients.patch ersetzt. Wie ist es Dir lieber?

HCS

Zitat von: Wallmeier am 02 Januar 2017, 06:40:57
Aktuell baut der Patch SoftSerialBridgeMultiClients.patch auf den SerialBridgeMultiClients.patch auf. Wenn ich Dir den Patch eh heute Abend neu baue, kann ich ihn aber so bauen, dass er den SerialBridgeMultiClients.patch ersetzt. Wie ist es Dir lieber?
Dann wäre mir ersetzen lieber, weil ich dann nur einen durchkauen muss.

Wallmeier

Passt das angehängte Format jetzt besser? Ich habe den Patch jetzt mittels tortoiseSVN erstellt... Oder benutzt Du tortoiseGIT?

Der angehängte Patch setzt auf den Patch 2ndSerialBridge.patch auf.

HCS

Zitat von: Wallmeier am 02 Januar 2017, 18:50:44
Passt das angehängte Format jetzt besser? Ich habe den Patch jetzt mittels tortoiseSVN erstellt... Oder benutzt Du tortoiseGIT?
Ich benutze tortoiseSVN. Jetzt geht der patch drauf, ohne dass ich ihn anpassen muss.
Build ist fehlerfrei und per OTA auf eins meiner Test-LGWs hochgeladen. Ohne jetzt viel getestet zu haben scheint es zu laufen.
Werde mal durchschauen, was Du gebaut hast und noch ein wenig testen.

Hast Du Lust, mir bei einem Problem zu helfen, mit dem ich schon seit Monaten kämpfe?

Auf der Setup-page passiert es immer mal wieder, dass die Combos für die MCP23008-Konfiguration nicht angezeigt werden.
Folgende Varianten (mit ein und der selben Firmware) treten auf (siehe auch Anhang):
- Funkktioniert
- Eine Zeile fehlt
- Beide Zeilen fehlen

Manchmal in Kombination mit wirren Zeichen ganz links oben auf der page.

Nach der aktuellen Erweiterung der setup-page habe ich das wieder massiv.

Ich hab mich da schon in's Koma geforscht ohne Ergebnis.

in m_webserver.on("/setup", [this]() { wird ja das komplette html der setup-page gebildet.
Ich glaube, dass ich schon mal an dem Punkt war, dass der String schon bevor er in m_webserver.send(200, "text/html", result); rein geht, kaputt ist und der WebServer somit nicht schuld ist.
Die etwas seltsame "GetMCPCombos und GetIOCombo - Konstruktion" ist auch ein Ergebnis der Problemsucherei.
Wenn es nicht spontan auftritt, einfach die setup-page einige mal reloaden.
Wenn man sich im browser den Seitenquelltext anschaut, dann fehlt der Teil einfach.

Kannst Du das bei Dir reproduzieren und hast Du irgend eine Idee, wo da das Problem liegt?

Wallmeier

Das ich nur eine Zeile für den MCP23008 geliefert bekomme, habe ich bei mir auch - das war mir auch schon aufgefallen und dann habe ich beim meinem anderen Gateway mit der offiziellen 1.24 nachgesehen und dort war es auch. Wo ich es jetzt gerade nochmal wiederhole, bekomme ich beim Gateway mit der offiziellen 1.24 wieder beide Zeilen angezeigt...

Auf den ersten Blick sieht der Code vernünftig aus... Ich werde die Tage mal schauen, ob ich rausbekomme, woran es liegt...

Auf jeden Fall sehr komisch das Ganze...

onkel-tobi

Zitat von: HCS am 01 Januar 2017, 22:22:47
Hast Du mal andere Frequenzen probiert? 868960 ist ein heißer Kandidat.
Ja, habe alles aus dem Wiki ausprobiert.
Zitat
Sicher? Das kann ein zwei Minuten dauern, bis die Firmware hochgeladen und verarbeitet ist, in denen sich in FHEM dann nichts mehr regt.
Danach kommt dann eine Zusammenfassung, was passiert sit.
Nein. Als ich alles noch mal durchgestartet habe und das update via FHEM gestartet habe ging es dann doch, sorry...

Jetzt brauche ich erst mal einen neuen RFM69, da meine Frau doch wieder auf die Wetterstation bestanden hat ;)
Gruß & danke,
Tobi


HCS

Zitat von: Wallmeier am 02 Januar 2017, 22:26:34
Auf jeden Fall sehr komisch das Ganze...
Ja, mehr als komisch  :o

Zitat von: Wallmeier am 02 Januar 2017, 22:26:34
Auf den ersten Blick sieht der Code vernünftig aus... Ich werde die Tage mal schauen, ob ich rausbekomme, woran es liegt...
Das wäre super. Ich habe ihn schon hundert mal gelesen und fünfzig mal umgeschrieben um dem Problem beizukommen.
Vermutlich bin ich in dem Code-Zweig schon betriebsblind  ;D ;D

Zwischendurch habe ich mal auf einen Bug in der String-Klasse bei großen Strings getippt, aber das konnte ich auch nicht erhärten.
Das Blöde an der Sache ist, dass man seine MCP23008-Konfiguration verliert, wenn man in dem Zustand speichert.

HCS

Zitat von: onkel-tobi am 02 Januar 2017, 22:34:59
Jetzt brauche ich erst mal einen neuen RFM69, da meine Frau doch wieder auf die Wetterstation bestanden hat ;)
OK, dann melde Dich, wenn Du den zweiten RFM69 hast, dann schauen wir, ob wir rausfinden, was Dein Problem ist.

Wallmeier

Zitat von: HCS am 02 Januar 2017, 22:40:16
Zwischendurch habe ich mal auf einen Bug in der String-Klasse bei großen Strings getippt, aber das konnte ich auch nicht erhärten.
Das Blöde an der Sache ist, dass man seine MCP23008-Konfiguration verliert, wenn man in dem Zustand speichert.

Die Sache hat mir keine Ruhe gelassen und ich habe ein wenig herum gespielt...

Ich habe einen kleinen Umbau gemacht:

      // MCP23008
      result += F("<tr><td> <label>MCP23008: </label> </td><td>");
      // result += GetMCPCombos(&settings, 1);
      result += GetIOCombo(0, settings.Get("IO0", "Input")) + "&nbsp;";
      result += GetIOCombo(1, settings.Get("IO1", "Input")) + "&nbsp;";
      result += GetIOCombo(2, settings.Get("IO2", "Input")) + "&nbsp;";
      result += GetIOCombo(3, settings.Get("IO3", "Input"));
      result += F("<br>");
      result += GetIOCombo(4, settings.Get("IO4", "Input")) + "&nbsp;";
      result += GetIOCombo(5, settings.Get("IO5", "Input")) + "&nbsp;";
      result += GetIOCombo(6, settings.Get("IO6", "Input")) + "&nbsp;";
      result += GetIOCombo(7, settings.Get("IO7", "Input"));
      // result += GetMCPCombos(&settings, 2);
      result += F("</td></tr>");

Der Unterschied ist, dass jetzt nicht mehr pro MCP-Zeile eine große String-Konkatenation gemacht wird, sondern pro IO.

Mit diesem Umbau haben sich die Symptome verändert - rufe ich die Setup-Seite jetzt direkt nach dem Boot des LGW auf, wird sie korrekt übertragen. Nachdem Bootvorgang des LGW hat dieses ca. 18 kB freien Heapspeicher (gerade gecheckt, da waren es genau 17888). Nach kurzer Zeit (und vermutlich einigen Empfangen Telegrammen) sinkt der freie Heapspeicher bei mir auf 15728. Dann wird auch die Setup-Seite nicht mehr korrekt übermittelt.

Ich habe die HTML-Seite, nachdem sie korrekt übertragen worden ist mal abgespeichert - sie hat eine Größe von 10.398 Bytes. Ich tippe darauf, dass sie schlicht zu groß geworden ist für den ESP :(

Und somit hat das Hinzufügen der Konfigurationsoptionen für die zweite Serial-Bridge das Problem weiter forciert...

Eine Lösungsidee könnte vielleicht sein, die Setup-Page aufzuteilen...

HCS

Der heap, der nach dem Booten verbraucht wird, geht ins Logging für die Log-Page, da wird ein Stück weit gepuffert, wenn es keiner abholt, dass man nach dem booten das boot log noch anschauen kann.

Könnte es sein, dass die String Klasse beim concat temporär deutlich mehr Speicher braucht, als die beiden Teile in Summe?
Nur so wäre zu erklären, dass es bei mir aktuell trotz 17848 freiem heap nicht funktioniert.

Ich glaube, ich schreibe mir mal einen String-Klasse-Tester, um auszuloten, wo da eigentlich die Grenzen sind.
Aber mit Deiner "Häppchen-Variante" und einer Erweiterung, dass beim Öffnen der Setup-Page der Buffer vom Logging geleert wird, könnte man es evtl. einfangen (falls es dann sicher reicht).

Aufteilen ist ein größerer Umbau, da aktuell stumpf die im (pseudo-)EEPROM abgelegte Konfiguration weggeworfen und die Neue reingepackt wird.

sash.sc

Hallo zusammen.

Habe mir das LCG zusammen gebaut. Habe die FW geflasht und dann erst in FHEM eingebunden. Hat soweit auch keine Probleme gemacht.
Dann habe ich mir 2 RFM69 C(W) drauf gelötet.
Habe das LCG dann nur als Stick konfiguriert, also WLAN ausgeschaltet.
Dann an den PI gesteckt, und danach ging dir Kirmesfahrt los. (open, disconnected, initializied und wieder von vorne).

Habe mal ein List dran gehängt von den verschiedenen Zuständen.

Habe das ganze auf einem WEMOS D1 Mini aufgebaut !!


Internals:
   CFGFN
   Clients    :PCA301:EC3000:LaCrosse:Level:EMT7110:KeyValueProtocol
   DEF        /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@57600
   DeviceName /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@57600
   FD         4
   LCG_S_MSGCNT 152
   LCG_S_TIME 2017-01-03 12:36:12
   NAME       LCG_S
   NR         44553
   PARTIAL    OK VALUES LGW 2640782 UpTimeSeconds=140,UpTimeText�?�������x��fx�����~f�`���f�����`�`�x��f���fx��xfx`�`ff�f��f������x��ff�f��f���f�����f~ff��x��f��f�昘x�x��x��fxf�fffx`����`��昆�������`���~~f���`���f�������f`�����ff�����f�怆����fx��`ff�f������`�x��x���x��~��x��~��������f�f�`��f�ff�f����fxxf����~f~f�~f�����~����f�����`�x��`��f���fx�ff��������������x��怘��ff�����f�怆����fx��`ff�f������`�x��x���x��~��x��~��������f�f�`��f�ff�f����fxxf����~f~f�~f�����~����f�����`�x��`��f���fx�ff�������������x���
   RAWMSG     OK 9 50 1 4 29 106
   STATE      initialized
   TYPE       LaCrosseGateway
   model      [LaCrosseITPlusReader.Gateway.1.24 (1=RFM69 f:868300 r:17241) + (2=RFM69 f:868300 r:9579) {IP=Disabled}]
   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:
     2017-01-03 12:36:13   state           initialized
Attributes:
   room       99_receiver



Internals:
   CFGFN
   Clients    :PCA301:EC3000:LaCrosse:Level:EMT7110:KeyValueProtocol
   DEF        /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@57600
   DeviceName /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@57600
   FD         43
   LCG_S_MSGCNT 204
   LCG_S_TIME 2017-01-03 12:39:53
   NAME       LCG_S
   NR         44553
   PARTIAL
   RAWMSG     OK VALUES LGW 2640782 UpTimeSecoivedFrames=305,FramesPerMinute=5=0,LD.Avg=0,LD.Max=19,OLED=none1.24 (1=RFM69 f:868300 r:17241) Disabled}]

   STATE      initialized
   TYPE       LaCrosseGateway
   model      [LaCrosseITPlusReader.Gateway.1.24 (1=RFM69 f:868300 r:17241) +isabled}]
   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:
     2017-01-03 12:39:53   state           initialized
Attributes:
   room       99_receiver



Internals:
   CFGFN
   Clients    :PCA301:EC3000:LaCrosse:Level:EMT7110:KeyValueProtocol
   DEF        /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@57600
   DeviceName /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@57600
   FD         43
   LCG_S_MSGCNT 206
   LCG_S_TIME 2017-01-03 12:39:57
   NAME       LCG_S
   NR         44553
   PARTIAL    ���f�怆����fx��`ff�f����fxxf����~f~f�~f��������`�x��x���x��~����f�����`�x��x���x��~��������f�f�`��f���fx��fxxf����~f~f�~f�������f�����`�x��x����fx�ff�����f�怆����fx��`�����`�x��x���xx���x��~��������f�f���������x�����x������������������`��怘�����f�ff��~�fxx��ff���fff~�f~����~`���f�����`�`�x��f���fx��xfxf�����f~ff���f��f�昘x�x��x���`���~~f���`���f�������������������x�xx������������x���怘�������������怘������������x������f�怆����fx��`ff�f����fxxf����~f~f�~f��������`�x��x���x��~����f�����`�x��x���x��~��������f�f�`��f���fx��fxxf����~f~f�~f��������`�x��x���x��~����f�����`�x��x���x��~��������f�f�`��f���fx�ff�����f�怆����fx��`ff�f����fxxf����~f~f�~f��������`�x��x���x��~����f�����`�x��
   RAWMSG     OK 9 5 1 5 174 106
   STATE      initialized
   TYPE       LaCrosseGateway
   model      [LaCrosseITPlusReader.Gateway.1.24 (1=RFM69 f:868300 r:17241) +isabled}]
   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:
     2017-01-03 12:39:57   state           initialized
Attributes:
   room       99_receiver



Internals:
   CFGFN
   Clients    :PCA301:EC3000:LaCrosse:Level:EMT7110:KeyValueProtocol
   DEF        /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@57600
   DeviceName /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@57600
   FD         43
   LCG_S_MSGCNT 209
   LCG_S_TIME 2017-01-03 12:40:22
   NAME       LCG_S
   NR         44553
   PARTIAL    ���f�怆����fx��`ff�f����fxxf����~f~f�~f��������`�x��x���x��~����f�����`�x��x���x��~��������f�f�`��f���fx�ff�����f�怆����fx��`ff�f��x���x��~��������f�f�`��f���fx�ff��x�ff���f�fx���`��f�x��f昆������x��fx�����~f�`���`�`ff�f��f�x���x��ff�f��f�����fxf�fffx`����`��昆������f`������ff���������������怘�����������x���怘����������������~��怘��ff�����f�怆����fx��`ff�f������`�x��x���x��~��x��~��������f�f�`��f�ff�f����fxxf����~f~f�~f�����~����f�����`�x��`��f���fx�ff���
   RAWMSG     ���f�怆����fx��`ff�f����fxxf����~f~f�~f��������`�x��x���x��~����f�����`�x��x���x��~��������f�f�`��f���fx��fxxf����~f~f�~f��������`�x��x���x��~����f�����`�x��x���x��~��������f�f�`��f���fx�ff�����f�怆����fx��`ff�f����fxxf����~f~f�~f��������`�x��x���xx���x��~��������f�f����������������x��怘�OK 9 51 1 4 192 36
   STATE      initialized
   TYPE       LaCrosseGateway
   model      [LaCrosseITPlusReader.Gateway.1 (2=RFM69 f:868300 r:9579) {IP=DOK 9 62 1 4 173 46
   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:
     2017-01-03 12:40:22   state           initialized
Attributes:
   room       99_receiver




Internals:
   CFGFN
   Clients    :PCA301:EC3000:LaCrosse:Level:EMT7110:KeyValueProtocol
   DEF        /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@57600
   DeviceName /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@57600
   FD         51
   LCG_S_MSGCNT 213
   LCG_S_TIME 2017-01-03 12:40:45
   NAME       LCG_S
   NR         44553
   PARTIAL    [LaCrosseITPlusReader.Gateway.1 (2=RFM69 f:868300 r:9579) {IP=D
   RAWMSG     OK 9 5 1 5 177 106
   STATE      opened
   TYPE       LaCrosseGateway
   model      [LaCrosseITPlusReader.Gateway.1.24 (1=RFM69 f:868300 r:17241) +isabled}]
   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:
     2017-01-03 12:40:47   state           opened
Attributes:
   room       99_receiver



Internals:
   CFGFN
   Clients    :PCA301:EC3000:LaCrosse:Level:EMT7110:KeyValueProtocol
   DEF        /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@57600
   DeviceName /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@57600
   FD         44
   LCG_S_MSGCNT 221
   LCG_S_TIME 2017-01-03 12:41:10
   NAME       LCG_S
   NR         44553
   PARTIAL
   RAWMSG     .24 (1=RFM69 f:868300 r:17241) +isabled}]
   STATE      opened
   TYPE       LaCrosseGateway
   model      [LaCrosseITPlusReader.Gateway.1 (2=RFM69 f:868300 r:9579) {IP=DOK VALUES LGW 2640782 UpTimeSecoin. 0Sek. ,WIFI=WLAN-DFB306,Rece5,RSSI=Off,FreeHeap=24872,LD.Min
   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:
     2017-01-03 12:41:10   state           opened
Attributes:
   room       99_receiver


Kann sich jemand darauf einen Reim machen `?

Habe auch die ganzen Lötungen kontrolliert. Soweit ist alles ok.

Gruß und Danke
Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

HCS

Zitat von: sash.sc am 03 Januar 2017, 12:42:01
Dann an den PI gesteckt, und danach ging dir Kirmesfahrt los. (open, disconnected, initializied und wieder von vorne).
Ich würde mal stark drauf tippen, dass Du ein USB-Port-Problem hast.
Wenn die Daten vom LGW mal durchkommen, dann sieht man, dass es korrekt initialisiert ist (beide RFM erkannt):
model      [LaCrosseITPlusReader.Gateway.1.24 (1=RFM69 f:868300 r:17241) + (2=RFM69 f:868300 r:9579) {IP=Disabled}]

Aber meistens kommt wohl vom USB-Port nur Schrott oder unvollständiger Kram.
model      [LaCrosseITPlusReader.Gateway.1.24 (1=RFM69 f:868300 r:17241) +isabled}]

Kannst Du es mal an einen Windows-Rechner stecken und mit einem Terminalprogramm loggen, was es sendet?