Anbindung and ebusd mit modul 98_GAEBUS.pm

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

Vorheriges Thema - Nächstes Thema

yellowpinky

Hallo Andy;

DANKE dass du die Idee aufgegriffen hast.
Der Syntax ist dann ähnlich meiner jetzigen Lösung mit "sprintf" nur ohne userReading und gleich bei der Abfrage.... - ;)

LG
Daniel

jamesgo

Hallo,

ich habe gerade einen neue Version hochgeladen. Sie läuft bei mir schon seit einiger Zeit.

Eine lokale Kopie der ".csv" Dateien ist nun nicht mehr notwendig.

Stattdessen wird "get ... ebusd_find" ausgeführt um die möglichen Befehle direkt vom ebusd zu laden.
Es kann ein paar Minuten dauern bis eine aktuelle Liste von ebusd zur Verfügung gestellt wird.
Der get Befehl ist nur notwendig um Interaktiv neue Konfigurationen hinzuzufügen.
Alle notwendigen Informationen sind in den Attributen gespeichert. D.h. nach einem Neustart von fhem muss kein "ebusd_find" gestartet werden.

Viel Spaß beim Ausprobieren
Andy

jamesgo

Hallo,
ich habe gerade eine neue Version von 98_GAEBUS.pm hochgeladen.

Es gibt nun ein reading "state_ebus". Das reading enthält die Ausgabe des ebusd commands "state".

Grüße
Andy

jamesgo

Hallo,

ich habe das Modul vom "contrib" in den "FHEM" Zweig verschoben. D.h. es wird nun zusammen mit den anderen Modulen automatisch
aktualisiert.

Viele Grüße
Andy

texel

#244
Hi, wo findet man denn die neuste Version. Das File auf sourceforge im Contrib-Verzeichnis scheint nicht mehr zu existieren ... LG Tegel

EDIT: habs gefunden .. wurde ins offizielle FHEM Verzeichnis übernommen ...

jamesgo

Hallo,

habe gerade eine neue Version mit zwei Erweiterungen hochgeladen:

- neue Funktion "set hex " als Interface zu "ebusctl write". Das Ergebnis wird als popup angezeigt.
- wenn ein neues attribut (bzw. reading) mit "set" erstellt wird ist der default Name für das reading nun mit <class><delimiter><variable> vorbesetzt

Grüße
Andy

john30

Zitat von: jamesgo am 11 Oktober 2016, 18:10:08
habe gerade eine neue Version mit zwei Erweiterungen hochgeladen:

- neue Funktion "set hex " als Interface zu "ebusctl write". Das Ergebnis wird als popup angezeigt.
Du meintest wohl als Interface zu "ebusctl hex", oder?
Das alte "write -h" ist in der aktuellen Version nur noch für bereits bekannte Messages verwendbar, nicht mehr für beliebige hex sends. Dafür gibt es das neue "hex" Kommando.
author of ebusd

jamesgo

Hallo,

ZitatDu meintest wohl als Interface zu "ebusctl hex", oder?

Ja, das ist jetzt gefixt und von "set hex" nach "get hex" geändert.

Ich habe nun auch die Kommentare aus den Attribut-Namen entfernt. Das macht das ganze ein bisschen Übersichtlicher.
Für die Umstellung gibt es ein "get removeCommentFromAttributeNames". Dieses Kommando gibt es nur wenn etwas umzustellen ist.

Grüße
Andy

john30

Zitat von: jamesgo am 19 Oktober 2016, 07:37:49
Ja, das ist jetzt gefixt und von "set hex" nach "get hex" geändert.
"set hex" wäre m.E. schlauer, denn mit diesem Kommando kann man ja theoretisch alles, lesen, schreiben, Anlage explodieren lassen :)
author of ebusd

jamesgo

Der Vorteil von "get" ist, dass das Ergebniss in einem Popup angezeigt wird und die Eingabe im Feld erhalten bleibt.
D.h. man kann den hex string verändern und "get" immer wieder aufrufen. Deshalb "get".

Tomy

Hallo jamesgo,

ich arbeite noch mit der ebusd 1.3 Version. Nun hab ich FHEM aktualisiert, dabei wurde natürlich auch das Gaebus Modul upgedatet. Nun funktionieren meine Readings mit der CSV Datei nicht mehr. Ich würde gerne wieder die Version aus dem Frühjahr 2016 einsetzen.
Im Pfad /trunk/fhem/FHEM/98_GAEBUS.pm liegen ja nur die Versionen ab 24.09.1. Findet man die alten Versionen auch noch irgendwo?

Grüße
Tomy

jamesgo

Hallo Tommy,
eigentlich ist das alles abwärtskompatibel.

Der ebusd 1.3 kann glaub ich das "find" nicht, aber in den Attributen sollte alles stehen um die Abfragen der Readings zu machen.

Der "update" im fhem erzeugt per default ein backup. Falls du das nicht abgeschalten hast, findest du dort die alte Version von GAEBUS.

Hast du Einträge im log?

Grüße
Andy

Tomy

Hallo Andy,

danke für die schnelle Antwort. Werde mich heute Abend mal dahinterklemmen.

Grüße
Matthias

Tomy

Hallo Andy,

also im LOG steht mit verbose 5 folgendes:

2016.10.24 21:19:53.897 4: EBUS1 start GetUpdates2
2016.10.24 21:19:54.062 3: GAEBUS opening EBUS1 device 192.168.178.44(8888)
2016.10.24 21:19:54.104 3: GAEBUS device opened (EBUS1)
2016.10.24 21:19:54.119 5: EBUS1: ebusd state(signal acquired, 84 symbols/sec (1871 max), 5 masters)


Ich lassse GAEBUS im 2min Takt laufen -> dieser LOG Eintrag kommt alle 2min.

Folgendes konnte ich beobachten:
- die UpdateCnt laufen hoch
- hole ich mit: get EBUS1 reading XXXXXX die Werte manuell ab, wird der aktuelle Wert vom EBUS ins reading geschrieben - nur automatisch geschieht dies nicht.

Ich bin jetzt erstmal auf die Version von 01/2016 aus dem "restoreDir" zurück, alles läuft wieder.
Wenn mal viel Zeit über ist, teste ich den aktuellen EBUSD mit der neuesten GAEBUS Variante.

Vielen Dank für die prompte Hilfe!

Grüße
Matthias

Jojo11

#254
Hallo,

ich habe nach ca. einem Jahr mal meinen ebusd auf V2.2 aktualisiert. Er funktioniert wieder bestens, aber in GAEBUS sind mir irgendwie ein paar readings verschwunden (evtl. auch schon eher). Ich kann mit "set" alle möglichen readings auswählen und speichern, so dass ich sie mit "attr" umbenennen kann. Allerdings kann ich keine weiteren readings hinzufügen. Die readings, die ich auslesen kann (aus dem drop down Menü) sind alle ausschließlich von einem Device (bai00). Alles von dem anderen Device (vc470f) wird komplett ignoriert. Woran kann das denn liegen?

Ich habe mal eine neue GAEBUS Instanz erstellt und von vorne angefangen. Das Verhalten ist reproduzierbar. Der in der fhem.cfg produzierte code sieht hinterher so aus:

define VC206r2 GAEBUS localhost:8888 180
attr VC206r2 userattr r~bai00~hwDisplayStorageTempDesired r~vc470f~TempOutside
attr VC206r2 r~bai00~hwDisplayStorageTempDesired Warmwassersolltemp
attr VC206r2 r~vc470f~TempOutside TempOutside


Während aber "Warmwassersolltemp" im Readings-pulldown erscheint, bekomme ich "TempOutside" da beim besten Willen nicht rein. Alle anderen readings von bai00 funktionieren und lassen sich hinzufügen, alle readings von vc470f nicht  :-\

/usr/bin/ebusctl read TempOutside
funktioniert.


NACHTRAG:
Hat sich erledigt. Umbenennen von vc470f in f4700 hat geholfen. Verstehe ich zwar nicht, aber es läuft wieder  :o


schöne Grüße
Jo