Anbindung and ebusd mit modul 98_GAEBUS.pm

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

Vorheriges Thema - Nächstes Thema

Jojo11

@jamesgo

Wäre es evtl. sinnvoll bzw. einfach umzusetzen, das Abfrageintervall pro Reading definierbar zu machen? Somit könnte man z.B. Temperaturen öfters auslesen, als z.B. Zeitprogramme, die man ja eigentlich nicht so häufig verändert. Würde den Busverkehr etwas reduzieren, falls das notwendig sein sollte.
Ansonsten läuft Dein Modul wirklich sehr gut - vielen Dank!

schöne Grüße
Jo

jamesgo

Zitat von: Jojo11 am 02 Oktober 2015, 17:51:20
@jamesgo

Wäre es evtl. sinnvoll bzw. einfach umzusetzen, das Abfrageintervall pro Reading definierbar zu machen? Somit könnte man z.B. Temperaturen öfters auslesen, als z.B. Zeitprogramme, die man ja eigentlich nicht so häufig verändert. Würde den Busverkehr etwas reduzieren, falls das notwendig sein sollte.
Ansonsten läuft Dein Modul wirklich sehr gut - vielen Dank!

schöne Grüße
Jo
Hallo Jo,
du kannt hinter dem Namen des Readings z.B. ":2" angeben, dann wird der Wert nur jedes 2-te mal abgefragt.
Grüsse Andy

Gesendet von meinem Nexus 5 mit Tapatalk


Jojo11

Oh, dann habe ich das wohl überlesen. Das ist genau das, was ich suche. Vielen Dank!

schöne Grüße
Jo


nightstorm99

Hallo Andy,

seid heute habe ich irgendwie ein Problem mit dem GAEBUS!
Schaue dir mal bitte unten den Screenshot an, irgendwie bringt er dort mit den Readings was durch einander.
Habe seid einigen Tagen nichts geändert und heute schaue ich rein und sehe dieses. Ein Neustart hat leider auch nichts gebracht.

Hast du eine Ahnung was das sein kann?

Danken und Gruß
Denny

Jojo11

Kenne ich. Da hat sich der ebus "verschluckt". Gib mal " deletereading xxx .*" ein, wobei xxx dein device ist. Danach sind alle Einträge weg. Bei der nächsten Aktualisierung sollten nur die gewünschten wieder auftauchen. Abhilfe schafft bei mir ein Neustart des ebusd.

schöne Grüße
Jo


jamesgo

Hallo Denny,

die falschen readings wirst du nur so los wie Jo es beschrieben hat. Ein Neustart bringt da nichts.

Entstanden ist das ganze schon am 24.09 bzw. 06.10.

Kannst du mal dein Log von gestern hochladen. Gibt es da eine Fehlermeldung zu der Zeit wo das falsche reading entsteht?

Grüße
Andy

gima84

Ich hab hier ein für mich nicht nachvollziehbares Verhalten bei dem regelmäßigen aktualisieren der Werte.

DEF
192.168.0.50:8888 60


Attribut:
r~ehp~CompStartsHwc~Compressor_Commutations_DHW
StartsKompressorWarmwasser:480


Würde bedeuten, das alle 8 Stunden das Reading aktualisiert würde.

Mach ich was falsch?

Stand jetzt:
StartsKompressorWarmwasser
150
2015-10-07 12:12:13


Laut Logfile sollte dort minnt. 151 stehen:

2015.10.08 11:57:52 3: ebus answer r StartsKompressorWarmwasser 151
2015.10.08 11:57:52 5: Notify loop for ebus StartsKompressorWarmwasser: 151
2015.10.08 11:57:52 5: DbLog: logging of Device: ebus , Type: GAEBUS , Event: StartsKompressorWarmwasser: 151 , Reading: StartsKompressorWarmwasser , Value: 151 , Unit:
2015.10.08 11:57:53 5: Cmd: >{GAEBUS_GetUpdatesDone('ebus|Energieertrag|5203|StartsKompressorHeizung|884|Rücklauf|22.69 ok|StartsKompressorWarmwasser|151|StartsKompressor|1035|Aussentemperatur|11.62 ok|Energieintegral|-150|LaufzeitKompressor|656|Vorlauf|22.69 ok|Wärmepumpenstatus|standby|LaufzeitKompressorHeizung|602|LaufzeitKompressorWarmwasser|53')}<
2015.10.08 11:57:53 5: Notify loop for ebus StartsKompressorWarmwasser: 151
2015.10.08 11:57:53 5: DbLog: logging of Device: ebus , Type: GAEBUS , Event: StartsKompressorWarmwasser: 151 , Reading: StartsKompressorWarmwasser , Value: 151 , Unit:

jamesgo

Guten Morgen,
ich schau mir das an und melde mich.

Verwendest du die aktuelle Version? (Änderungshistorie in 98_GAEBUS.pm "# 21.09.2015 : A.Goebel : implement BlockingCall Interface")
Auf welchen Wert steht die Variable "cnt" bei deinem ebus device?

Gruß
Andy

gima84

Guten Morgen,

ja, aktuelle Version wird verwendet.

Leider finde ich keine Variable cnt, bzw. weiß ich nicht was du damit meinst.
Was ich gefunden habe:

UpdateCnt  772

Wenn du das Intervall meinst, dann steht das auf 480, wobei das Device ebus aller 60 Sekunden abgefragt wird (entspricht somit Abfrage aller 8 Stunden).


gima84

Komisch .... Heute wurde das Reading erwartungsgemäß aktualisiert. Von daher alle i.o (bis auf das verschlucken - « Antwort #93 am: 07 Oktober 2015, 08:28:06 »)

jamesgo

#100
Ja, ich meine den UpdateCnt. Der wird modulo 480 gerechnet. Nach einem Neustart fängt der UpdateCnt wieder bei 0 an. D.h. einmal wurde der Wert gesetzt. Allerdings sollte der Eintrag in deinem Log auch zur Aktualisierung geführt haben.
Das muss ich mir genauer anschauen.


jamesgo

Hallo,
in Verbindung mit timeouts gibt es zwei Fehler
- Die Reading Werte werden zu Reading Namen
- Es kommt zu einer Unterbrechung in der Schleife zum aktualisieren der Readings

Jetzt brauch ich nur noch ein bisschen Zeit um das zu fixen.

danke für die Rückmeldungen, Analysen und Logs
Andy

jamesgo

Hallo,
ich habe gerade eine neue Version eingecheckt.

Da ich eine Funktion mit einem zusätzlichen Parameter versehen habe funktioniert ein "reload ..." und ein "shutdown restart" nicht. Ihr müsst also fhem stoppen und starten.

Änderungen:
- längerer timeout für die reads
- fehlerhändling im Blocking Call verbessert. Dadurch sollte es keine "geister readings" mehr geben
- logeinträge "timeout reading answer for ..." falls es zu timeouts kommt

Da die Zeiten auf dem ebus von vielen Faktoren abhängen bin ich gespannt auf eure Rückmeldungen.
Falls euch was auffällt bitte melden. Im Besonderen interessiert es mich ob es noch readings gibt, die sich nicht mehr aktualisieren (Datum/Uhrzeit hängt hinter den anderen hinterher)

Grüße
Andy

Jojo11

Vielen Dank! Werde gleich heute abend aktualisieren.

schöne Grüße
Jo


zentis666

#104
Hallo Reinhart,

ich versuche gerade Deine Timerprogrammierung bei meiner CalorMatic 470er Steuerung per GAEBUS zu realisieren, danke für die tolle Arbeit, langsam wird meine Heizung richtig komfortabel.
Ich hänge an einem Punkt:

Zitat von: Reinhart am 25 September 2015, 17:08:15
Timer Eingabe für die CalorMatic 430 und 470!
Bei der Version GAEBUS muss bei den Schreibvariablen des Timers jeweils der Name "nMo" bzw nDi,NMi,nDo,nFr,nSa,nSo für den jeweiligen Tag definiert werden. Wer andere Namen verwenden will muss dies im Listing austauschen.

Wo bekomme ich eine csv Datei mit Einträgen für die Wochentage her?
Ich hab meine von hier
https://github.com/john30/ebusd-configuration/tree/master/ebusd-1.x.x/vaillant_de
da stehen aber keine Readings für die Timerprogrammierung wie mcTTMonday drin,
also kann ich die Attribute dieser auch nicht auf nMo etc. setzen.
Oder wie bekomme ich diese Readings?

Gruß
Sven
--
FHEM auf Debian VM - ESXi 6.0 Intel Nuc i5 4th Gen, Homematic auf HMCCU - RaspberryMatic auf Raspberry PI 3,
EM1000 & FS20 über CUNO,  IT über Arduino Firmata, MiLight über WLAN-nRF Gateway, Ebus, 1Wire, diverse Squeezeboxen, Dreambox 920UHD, Homebridge