Anbindung and ebusd mit modul 98_GAEBUS.pm

Begonnen von jamesgo, 14 September 2015, 10:18:17

Vorheriges Thema - Nächstes Thema

mikel279

Zitat von: jamesgo am 15 September 2015, 15:18:20
Habe den Vorschlag von Reinhart implementiert:

Hallo Andy,

zunächst Danke für den Einbau dieser Funktion. Es funktioniert zwar auch so wie ich es oben beschrieben habe - aber wer weiß wofür die Änderng von Dir noch gut ist  ;)

Die neue Version habe ich getestet - Umlaute gehen jetzt auch mit set - auch hierfür Danke!

Beim Auslesen der Rücklauftemp (r~bai~SDTRT~d.41_Rücklauftemperatur) bekomme ich folgendes reading (RuecklaufTemp 28.38 65081 ok), was bzgl. der Temp 28.38 okay ist. Aber was bedeutet die 65081? Hast Du hierfür eine Erklärung?

LG Mikel

mikel279

Hallo Andy,

ich habe doch noch einen Fehler.

Wenn ich die Werte vom 430.csv auswähle, werden die Umlaute doch nicht korrekt angezeigt. Allerdings funktioniert sowohl das get als auch das set - also nur Kosmetik.

Die Kodierung der beiden Dateien (bai.csv und 430.csv) habe ich geprüft - beide utf-8.

LG Mikel

mikel279

Hallo Andy,

doch noch Fehlermeldungen im fhem.log

2015.09.15 15:25:11 1: PERL WARNING: Use of uninitialized value $readingnameX in split at ./FHEM/98_GAEBUS.pm line 328.
2015.09.15 15:25:11 1: PERL WARNING: Use of uninitialized value $readingnameX in concatenation (.) or string at ./FHEM/98_GAEBUS.pm line 330.
2015.09.15 15:25:11 1: PERL WARNING: Use of uninitialized value $readingname in substitution (s///) at ./FHEM/98_GAEBUS.pm line 334.
2015.09.15 15:25:11 1: PERL WARNING: Use of uninitialized value $readingname in substitution (s///) at ./FHEM/98_GAEBUS.pm line 335.
2015.09.15 15:25:11 1: PERL WARNING: Use of uninitialized value $readingname in pattern match (m//) at ./FHEM/98_GAEBUS.pm line 340.

LG Michael

Reinhart

#18
@Andy

Danke für deine Implementierung, funktioniert soweit ich getestet habe sehr gut. Das einzige was mir noch aufgefallen ist, editiert man das Attribute nochmals wird der Text nach dem Leerzeichen (also der zusätzliche Parameter) nicht angezeigt, das dürftest du noch wo unterdrücken.

Die Umlaute sind auch alle ok, obwohl ich nicht zu 100% hier mittesten kann, weil ich es ja schon vorher behoben hatte.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Reinhart

@Andy

entgegen der Meldung von mikel279 ist bei mir das Log fehlerfrei, inkl. dem zusätzlichen Parameter.


2015.09.15 22:11:12 3: ebus1 execute r -f -c bai StorageTemp tempsensor.0
2015.09.15 22:11:12 3: ebus1 answer r StorageTemp 36.88
2015.09.15 22:11:12 3: ebus1 execute r -f -c bai DCRoomthermostat
2015.09.15 22:11:13 3: ebus1 answer r Thermostat off
2015.09.15 22:11:13 3: ebus1 execute r -f -c bai FlowSetPotmeter
2015.09.15 22:11:13 3: ebus1 answer r Potistellung 70.00
2015.09.15 22:11:13 3: ebus1 execute r -f -c bai HwcSetPotmeter
2015.09.15 22:11:13 3: ebus1 answer r WW-Poti 57.00


LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

jamesgo

@mikel279: die Warnings sollten nun nicht mehr vorkommen, bzgl. der v430.csv habe ich in der originalen Version von github nur ein "ü" gefunden (und das hat funktioniert). Kannst du deine Datei mal posten.

Zitat
Beim Auslesen der Rücklauftemp (r~bai~SDTRT~d.41_Rücklauftemperatur) bekomme ich folgendes reading (RuecklaufTemp 28.38 65081 ok), was bzgl. der Temp 28.38 okay ist. Aber was bedeutet die 65081? Hast Du hierfür eine Erklärung?
bzgl dem tempmirror Wert: sowas bekomme ich auch, weiss aber nicht was das bedeutet

@Reinhart: Verstehe ich dich richtig. Du klickst auf das attribut und in dem Eingabefeld fehlt dann der Teil nach dem " "?
Ich habe das so gemacht und bei mir hat es funktioniert. (siehe screenshot)

mikel279

Hallo Andy,

die 430.csv werde ich heute Abend posten - komme gerade nicht dran weil ich nur per vpn auf dem System bin.

Die Fehlermeldungen stehen offensichtlich im Zusammenhang mit den nicht korrekt aufgelösten Umlauten - Auszug fhem.log:

2015.09.16 08:32:56 1: PERL WARNING: Use of uninitialized value $readingnameX in split at ./FHEM/98_GAEBUS.pm line 328.
2015.09.16 08:32:56 1: PERL WARNING: Use of uninitialized value $readingnameX in concatenation (.) or string at ./FHEM/98_GAEBUS.pm line 330.
2015.09.16 08:32:56 1: PERL WARNING: Use of uninitialized value $readingname in substitution (s///) at ./FHEM/98_GAEBUS.pm line 334.
2015.09.16 08:32:56 1: PERL WARNING: Use of uninitialized value $readingname in substitution (s///) at ./FHEM/98_GAEBUS.pm line 335.
2015.09.16 08:32:56 1: PERL WARNING: Use of uninitialized value $readingname in pattern match (m//) at ./FHEM/98_GAEBUS.pm line 340.
2015.09.16 08:33:39 2: called GAEBUS_Attr(set,ebus,r~430~BMUFlowTempOrVF1~Vorlauftemperaturfühler_1,<VorlaufTempSensor>)

Hier siehst Du, wie z.B., ein ü aus der 430.csv aufgelöst wird. Was dann zu den Fehlermeldungen im Log führt.

LG Mikel

jamesgo

Nein, das passt nicht zusammen.

2015.09.16 08:33:39 2: called GAEBUS_Attr(set,ebus,r~430~BMUFlowTempOrVF1~Vorlauftemperaturfühler_1,<VorlaufTempSensor>)

stammt aus der Routine für die Attribute.

Die Warnings stammen aus der "_Get" routine ... das kann nichts miteinander zu tun haben (liegen auch 43 sekunden dazwischen).

Ab Zeile 328 wird der Wert des Attributes zerlegt. Wenn da nichts drin steht ist $readingnameX nicht initialisiert ... das habe ich gefixt.

mikel279

die Warnings kommen aus dem "set,ebus,r~430~BMUFlowTempOrVF1~Vorlauftemperaturfühler_1" also dem Schreiben des attributes.

Den set des reading habe ich nur wegen des Attributnamen aus der 430.csv drin gelassen.

Reinhart

Zitat von: jamesgo am 16 September 2015, 08:27:31
@Reinhart: Verstehe ich dich richtig. Du klickst auf das attribut und in dem Eingabefeld fehlt dann der Teil nach dem " "?
Ich habe das so gemacht und bei mir hat es funktioniert. (siehe screenshot)

Danke für den Hinweis, auf einem anderen PC hat es auch gleich funktioniert, habe dann den gesamten Browser Cache im IE11 gelöscht nun klappts auch auf dem Laptop wieder.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Jojo11

#25
Hallo,

evtl ist der timeout von 5 Sekunden doch etwas zu viel des Guten. Ich teste jetzt mal mit 3 s. Bei 5 s hatte ich sehr viele disconnects meines Homematic HMLANs, was eigentlich immer auf eine deutliche Systemverlangsamung hindeutet. Es wäre natürlich ideal, wenn die Warterei in einem anderen Prozess laufen würde und somit keinen Einfluss auf den Rest des Systems hätte  ::)

Nachtrag:
Laut apptime verlangsamt GAEBUS mein System am stärksten. Ich rufe zur Zeit 27 Werte alle 3 Minuten ab und verzögere damit FHEM jedesmal um 4,5 Sekunden. Besteht theoretisch die Möglichkeit, das irgendwie auszulagern?

schöne Grüße
Jo

mikel279

Hallo Andy,

habe die neue Version getestet, funktioniert jetzt einwandfrei - keine Fehlermeldungen im log - Vielen Dank!  :)

Habe zwar immer noch die Sonderzeichen anstelle der Umlaute in der 430.csv (habe nochmal aktuell vom GitHub geholt)

2015.09.16 19:13:06 2: called GAEBUS_Attr(set,ebus,r~430~CountryVariant~Ländervariante,<Ländervariante>)

Aber auch damit funktioniert es einwandfrei.

@Jo: Eine Systemverlangsamung kann ich nicht feststellen - allerdings habe ich wohl auch einen leistungsstärkeren Rechner - NUC mit i5 auf dem der FHEM Server als virtuelle Maschine (ein Prozessor, 1GB Speicher und Debian) läuft (aktuelle Konfig. HM, ebus, dreamboxen, JeeLink, Pioneer AVR, Fritzbox und verschiedene Netzwerksteckdosen -  490 defined entities, mit GAEBUS lese ich, zum testen, aktuell 24 Werte aus).

Also aus meiner Sicht alles okay.

LG Mikel

Jojo11

Was zeigt denn bei dir apptime an?
Die Verzögerung kommt doch nicht von einem langsamen Prozessor, sondern vom langsamen ebus oder irre ich da?

schöne Grüße
Jo


mikel279

Hallo Jo,

okay, hatte ich mir noch nicht so genau angeschaut.

Also ich habe zwei HMLANs im Einsatz, beide zeigen keine Auffälligkeiten insbesondere keine disconnects.

Bei der apptime hast Du recht

                                              name                     function    max  count    total  average maxDly
               tmr-GAEBUS_GetUpdates      HASH(0xaddcdbc)   3126      6    17197  2866.17      5 HASH(ebus)

Aber wie gesagt, bislang stelle ich keine Probleme hierdurch fest ???

Daher bin ich nicht sicher, wodurch Deine Probleme ausgelöst werden.

LG Michael

Jojo11

#29
Ich habe über 700 defined entities, Tendenz steigend. Da lernt man auf sowas zu achten ;)
Nicht alles kann man mit Prozessorleistung erschlagen. Eine Verzögerung von mehr als einer Sekunde (bei Dir sind es auch mehr als 3) ist definitiv nicht wirklich hilfreich, auch wenn Du das momentan noch nicht merkst. Falls man das also entschärfen kann, wäre das wirklich super.

schöne Grüße
Jo