FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: Achim am 16 Januar 2020, 21:25:04

Titel: Firmata, 1-Wire und S7 mit Fehler DIE:send: Cannot determine peer address at...
Beitrag von: Achim am 16 Januar 2020, 21:25:04
Hallo,

ich habe seit Beginn des Einsatz des S7 Moduls den Fehler
Zitat
DIE:send: Cannot determine peer address at /opt/fhem/FHEM/44_S7_S7Client.pm line 851

im Logfile. Bisher habe ich im Forum und bei Tests nicht gefunden, woher der Fehler kommt. Nun habe ich die Ursache gefunden. Und zwar etwas sehr seltsames. Erstmal die betroffene Konfiguration meiner Umgebung:
Meine S7 Logo ist über Ethernet angebunden (wie auch sonst). Dann habe ich noch einen Arduino mit Eingangen, Ausgängen und einem 1-Wire System mit Temperaturfühlern und Zähler installiert. Der Arduino ist mit Firmata an FHEM auch über Ethernet angebunden. Das OWX-Modul für die Firmata läuft Syncron (wobei der Fehler auch bei asyncron auftaucht). Nach der Umstellung von asyncron auf syncorn ist mir auf einmal aufgefallen, das der oben beschriebene Logeintrag alle 2 Minuten erscheint. Daraufhin habe ich alle Abfragen auf den 2min Intervall in meinem FHEM überpüft. Um es abzukürzen, jedes mal wenn OWMULTI (DS2438) über Fimata -> 1-Wire einen Feuchtefühler ausliest, kommt der S7-Fehler im Logfile. Bei Ändern des Intervals ändert sich auch exakt dazu die Zeitintervalle der Logeinträge. Beim Auslesen der anderen 1-Wire Sensoren (4x Temperaturfühler - DS18B20, 2x Zähler - DS2423eold) kommt der Fehler nicht.

Jetzt bin ich mit meinem Wissen erstmal wieder am Ende. Ich habe keine Ahnung, wo bei dem Fehler die "Schnittstelle" zwischen dem S7-Modul, Firmata und der OWMULTI Abfrage ist.

Kann mir da jemand weiterhelfen?

Viele Grüße
Achim


Titel: Antw:Firmata, 1-Wire und S7 mit Fehler DIE:send: Cannot determine peer address at...
Beitrag von: Prof. Dr. Peter Henning am 17 Januar 2020, 07:48:26
Ich tippe auf die Verbindung mit dem Arduino, also auf das FIRMATA-Modul. Auf was für einer Kiste läuft denn FHEM?

LG

pah
Titel: Antw:Firmata, 1-Wire und S7 mit Fehler DIE:send: Cannot determine peer address at...
Beitrag von: Achim am 17 Januar 2020, 08:03:33
Hallo,

FHEM läuft auf einem RPi 1

Meine Vermutung geht auch in die Richtung. Das S7 Modul frägt die Logo alle 2 Sekunden ab. Das macht kein Problem, bis dann das OWMULTI Modul die Daten über OWX und Firmata abfragt. Ich tippe darauf, das irgendwie in der Verbindung OWMULTI, OWX, Firmata am TCP Stack etwas "zurückgesetzt" oder "blockiert" wird.

Das OWMULTI Modul hat leider keine "Disable" Attribut um es mal kurz auszuschalten. Ich werde wohl mal zum Test diese Definition ganz löschen müssen.

Viele Grüße
Achim
Titel: Antw:Firmata, 1-Wire und S7 mit Fehler DIE:send: Cannot determine peer address at...
Beitrag von: Achim am 17 Januar 2020, 09:31:15
Hallo,

ich habe jetzt die OWMULTI Definition in FHEM gelöscht. Und der Fehler ist weg. Die anderen 1-Wire Abfragen über sind noch vorhanden und beeinflussen das S7 Modul nicht.

Viele Grüße
Achim
Titel: Antw:Firmata, 1-Wire und S7 mit Fehler DIE:send: Cannot determine peer address at...
Beitrag von: Prof. Dr. Peter Henning am 17 Januar 2020, 21:27:51
Wenn man das Attribut interval in OWMULTI auf 0 setzt, werden keine Abfragen mehr ausgeführt. Das Problem bei dem DS2438 ist, dass er eine ziemlich lange Zeit benötigt, bis alle Daten da sind. Da geht also viel Traffic hin und her - und das stört (sollte aber nicht...) die TCPIP Verbindung.

Sollt ferne im asynchronen Modus NICHt auftreten.

LG

pah
Titel: Antw:Firmata, 1-Wire und S7 mit Fehler DIE:send: Cannot determine peer address at...
Beitrag von: Achim am 21 Januar 2020, 20:07:21
Hallo,

bei asynchroner Verbindung sind die Fehlermeldungen wesentliche wendiger und nicht mehr regelmässig. Leider habe ich mit der asynchronen Verbindung bei dem OWMULTI und den Zählern teilweise mehrmals am Tage "Fehlmessungen/Übertragungen". Z.B: bei OWMULT ist dann der Logeintrag:

Zitat2020-01-21_17:08:51 Heizraum_LF_DS2 relHumidity: 290.81
2020-01-21_17:08:51 Heizraum_LF_DS2 VDD: 5.05
2020-01-21_17:08:51 Heizraum_LF_DS2 temperature: 19.1

Und das ist besonders bei den Zählern (Strom/Wasser/Gas) "etwas" störend.

Ich werde erstmal die Temp/Luftfeuchtemessung abschalten und das Firmata System auf sychron weiterlaufen lassen. Die Zähler sind mir wichtiger für Trenderkennungen (vor allem beim Stromverbrauch) als die Luftfeuchte im Heizraum.

Vielen Dank für die Mühe
Achim