Ich habe ein IP-Symcon Gateway und da wird jede Minute ein leeres Signal an das Gateway geschickt, wahrscheinlich um die Verbindung offen zu halten.
Ich konnte die Fehler nicht ganz nachstellen. Habe aber etwas beim Verbindungsaufbau gefunden und gefixed. Ich habe es schon auf main gemerged aber noch kein Release erstellt.
Den Port kann man jetzt auch optional angeben.
Könnt ihr es testen?
Das mit dem Port in der Config scheint zu klappen und die Version ist “main” , richtig?
Allerdings ist das Trennen nach 10sec weiterhin vorhanden … hab die Integration erst einmal wieder deaktiviert.
Ich bin da (noch) nicht so firm drin. Wie kann ich das dann updaten ?
Update:
Habe jetzt nochmal per Github Link installiert aber immer noch keine Änderung.
Connected ist immer noch AUS
Schau mal ob dir das hilft:
Welcher Branch ist das denn ?
@philipp14
Ich bekomme immer Connection refused:
Logger: eltakobus.tcp2serial
Quelle: /usr/local/lib/python3.12/site-packages/esp2_gateway_adapter/esp3_tcp_com.py:127
Erstmals aufgetreten: 10:51:28 (88 Vorkommnisse)
Zuletzt protokolliert: 11:33:51
[Errno 111] Connection refused
So die Verbindung steht bei mir auch jetzt aber wie bei @Sevensworld geschrieben wird nun alle 10 sek die Verbindung getrennt und wieder verbunden.
Hab es auch erstmal deaktiviert wird und warte auf weitere Instruktionen
by HarryP: Zusammenführung Mehrfachposting
Schon einmal einen Schritt näher. Bei mir funktioniert es mit dem MGW von PioTek sehr gut.
Ich gehe davon aus, dass ihr beide ein anderes Gateway habt. Das MGW von PioTek sendet alle Nase lang ein “leeres Signal”/keep alive message wenn keine Nachrichten kommen, damit man weiß die Verbindung steht noch. Würde das nicht kommen und 10 Sekunden lang auch nichts anderes, dann versucht das Gateway automatisch neu zu connecten. Das hat den Vorteil, wenn ihr es einmal aus- und wieder einsteckt wird automatisch die Verbindung zu HA aufgebaut.
Es gibt jetzt zwei Möglichkeiten:
- Ich baue einen Parameter ein, mit dem man das auto-reconnect de-/aktivieren kann
- Falls euer Gateway auch so ein “leeres Signal”/keep alive message hat, trage ich diese ein.
=> 2. würde ich bevorzugen. 1. kann ich auf jeden Fall machen
=======
Update:
So ich habe ein Flag eingebaut um das auto-reconnect zu deaktivieren. Änderung befindet sich wieder auf main branch.
Example Configuration:
eltako:
gateway:
- id: 1
device_type: mgw-lan
base_id: FF-80-80-00 # baseId of LAN gateway
address: 192.168.178.15 # address is only required for LAN gateway
port: 5100 # optional (default value 5100). Field only valid for LAN gateway
auto_reconnect: False # Disables the auto.reconnect function. Default value: True
devices:
light:
- id: FF-AA-00-01 # baseId of FAM14 (FF-AA-00-00) + internal address
eep: M5-38-08
name: FSR14_4x - 1
sender:
id: FF-80-80-01 # baseId of USB300 (FF-80-80-00) + sender id (0-80 HEX/128 DEZ)
eep: A5-38-08
Ich konnte es leider nur mit dem MGW von PioTek testen, andere LAN Gateways habe ich leider nicht. Könnt ihr mir aber gerne zu schicken.
Moin und Danke für Deine Bereitschaft auch andere Gateways zu berücksichtigen.
Mein GW sendet kein Keep Alive von sich aus, sondern wird aktuell nur 1x pro Minute “angefragt” und sendet dann eine Antwort. Dadurch wird überprüft ob die Verbindung noch steht. Wenn sich natürlich ein angelerntes Gerät meldet, dann sendet es sofort.
Das hier ist aus dem Debug vom ursprünglichen System, Transmit wird gesendet und der Rest ist die Antwort vom GW
HEX: 02.07.2024, 10:39:36 | TRANSMIT | 55 00 01 00 05 70 08 38
HEX: 02.07.2024, 10:39:36 | RECEIVED | 55
HEX: 02.07.2024, 10:39:36 | RECEIVED | 00
HEX: 02.07.2024, 10:39:36 | RECEIVED | 05
HEX: 02.07.2024, 10:39:36 | RECEIVED | 01
HEX: 02.07.2024, 10:39:36 | RECEIVED | 02
HEX: 02.07.2024, 10:39:36 | RECEIVED | DB
HEX: 02.07.2024, 10:39:36 | RECEIVED | 00
HEX: 02.07.2024, 10:39:36 | RECEIVED | FF
HEX: 02.07.2024, 10:39:36 | RECEIVED | B3
HEX: 02.07.2024, 10:39:36 | RECEIVED | 28
HEX: 02.07.2024, 10:39:36 | RECEIVED | 80
HEX: 02.07.2024, 10:39:36 | RECEIVED | FF
HEX: 02.07.2024, 10:39:36 | RECEIVED | CC
Hast du es mal mit auto_reconnect: False
probiert? Ansonsten könnte ich auch den Timeout anstelle von 10Sekunden variable gestalten und du trägst z.B. 2 Minuten ein.
Nein, habe ich noch nicht ausprobiert und ich möchte auch kein ständiges Reconnect.
Ich muss erst einmal herausfinden, wie der Rest funktioniert, dann könnte ich den Keep Alive ja zyklisch senden und im Zweifel dann erst einen Reconnect auslösen, wenn notwendig. Wie läuft das eigentlich bei einm HA Neustart?
Meine Geräte kommunizieren direkt mit dem GW, ich benutze kein Eltako.
Mein Enocean Fensterkontakt hat z.B. die ID 01A6F94F ( Funk-Protokoll: EnOcean EEP F6-10-00 (unverschlüsselt) ) , wie würde ich den in die Config einbinden?
So bin wieder da.
also was ist jetzt die vorgeschlagene Lösung ?
Auto_reconnect auf false setzen ?
Ja, mit auto_reconnect: false bleibt die Verbindung zumindest der Anzeige nach stabil. Ob oder wann die Verbindung getrennt wird, kann ich aktuell noch nicht sagen.
Wenn ich den Reconnect Button betätige, dann trennt sich die Verbindung, wird aber nicht wieder verbunden !?
Daher gehe ich aktuell davon aus, das die Verbindung nicht sauber zustande kommt
Da ich allerdings kein Eltako Gerät in Benutzung habe, frage ich mich aktuell immer noch, wie ich nun mein oben genanntes Beispielgerät einbinden kann. Auf dem GW selber scheint zumindest keine Message anzukommen, so lange nichts konfiguriert ist. Ich hatte gehofft Nachrichten im “Last Message Received” zu sehen, wenn irgendein Signal am GW an kommt…
Weißt du mit welcher baud rate der läuft?
Nein, weiß ich leider nicht. Kann ich das irgendwie herausfinden ?
Sollte aber eigentlich 56700 sein …
@philipp14
Hab ab Wochenende frei und kann das mal testen.
Welchen aktuellen Github stand soll ich einladen ? Welcher branch ist das ?
Die aktuellen Änderungen sind auf dem feature-branch.
Wie kann ich diesen denn in HACS “reinladen” und was ist der korrekte GitHub link ?
Schau mal ob die das hilft:
@philipp14
So habe das mal jetzt gemäß dieser Anleitung installiert.
Das GW steht auf Connected = AN … keine Ahnung ob das jetzt geht. Habe mal testweise eine light konfiguriert aber da tut sich gar nichts.
Aufbau ist:
Lan-GW mit der IP und hat die Base-ID = FF-A4-74-00
Dann hab ich mein FAM14 von Eltako mit der ID FF-EE-DB-00
Die FSR14-4 haben jeweils die FF-A4-74-03 / 04 / 05 / 06
Eigentlich alles richtig oder ? Aber ich kann es nicht ausschalten. Tut sich gar nichts:
eltako:
gateway:
- id: 1
device_type: mgw-lan
base_id: FF-A4-74-00 # baseId of LAN gateway
address: 192.168.40.231 # address is only required for LAN gateway
port: 20108
auto_reconnect: false
devices:
light:
- id: FF-EE-DB-01 # baseId of FAM14 (FF-AA-00-00) + internal address
eep: M5-38-08
name: FSR14_4x - 3
sender:
id: FF-A4-74-05 # baseId of USB300 (FF-80-80-00) + sender id (0-80 HEX/128 DEZ)
eep: A5-38-08
Problem noch:
Wenn ich alles lösche aus dem Eltako Dienst passiert erstmal gar nichts (Neustart ha?) und dann sind immer noch alle da … kann also alte Geräte nicht löschen !
Die Konfig sieht ganz gut aus.
Kannst du noch einmal schreiben was für ein Gateway du genau hast.
Hast du schon einmal in die Logs geschaut? Dort siehst du was das Gateway empfängt und sendet, unabhängig von dem was konfiguriert ist.
Steht FAM14 auf BA=2? FSRs kannst du auch per Drehschalter auf Test stellen und damit ein Signal auslösen?
Hast du die sender id in die FSRs über PCT14 einprogrammiert mit dem Function Key 51?