Firmata, 1-Wire und S7 mit Fehler DIE:send: Cannot determine peer address at...

Begonnen von Achim, 16 Januar 2020, 21:25:04

Vorheriges Thema - Nächstes Thema

Achim

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


1x RPi V1, COC, 6x FHT, 1x S300TH, 2x DS18B20, 1x KS300
1x Arduino Nano mit Firmata, 2x DS2423old, 4x DS18B20, HIH5030, verschiedene Ein/Ausgangsschaltungen am Arduino
Mysensors-Seriell Gateway, Si7021, BH1750, Relais

Prof. Dr. Peter Henning

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

Achim

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
1x RPi V1, COC, 6x FHT, 1x S300TH, 2x DS18B20, 1x KS300
1x Arduino Nano mit Firmata, 2x DS2423old, 4x DS18B20, HIH5030, verschiedene Ein/Ausgangsschaltungen am Arduino
Mysensors-Seriell Gateway, Si7021, BH1750, Relais

Achim

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
1x RPi V1, COC, 6x FHT, 1x S300TH, 2x DS18B20, 1x KS300
1x Arduino Nano mit Firmata, 2x DS2423old, 4x DS18B20, HIH5030, verschiedene Ein/Ausgangsschaltungen am Arduino
Mysensors-Seriell Gateway, Si7021, BH1750, Relais

Prof. Dr. Peter Henning

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

Achim

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
1x RPi V1, COC, 6x FHT, 1x S300TH, 2x DS18B20, 1x KS300
1x Arduino Nano mit Firmata, 2x DS2423old, 4x DS18B20, HIH5030, verschiedene Ein/Ausgangsschaltungen am Arduino
Mysensors-Seriell Gateway, Si7021, BH1750, Relais