Läuft: Heizung mit eBus-Schnittstelle

Begonnen von Prof. Dr. Peter Henning, 29 November 2014, 13:36:59

Vorheriges Thema - Nächstes Thema

jkriegl

@rob uboot Bei meiner Vail 610 funktioniert 1xSpeicherladen siehe
https://forum.fhem.de/index.php/topic,29737.msg744771.html#msg744771
Wann sie heizen soll geht über die Zeitsteuerung, die ich verändern kann.
Modus umschalten on, off, auto eco ebenfalls (Heizen, WW, ..). Dieser steckt in einem array, d.h. man muss immer alle Felder schreiben sonst tut sich nichts.
Rpi 3/4, buster, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

sua

Zitat von: Sven77 am 05 Dezember 2018, 17:07:25
Für das Setzen der Sonderfunktion(en) wie "Einmalige Speicherladung" muss man den SFMode setzen,
bei manchen Funktionen werden auch mehrere Sachen gesetzt, zum Abbrechen der Funktion werden
dann jeweils wieder andere Sachen gesendet. Ich hatte das mal irgendwo dokumentiert, bin aber aktuell
unterwegs und finde es nicht...
Hast Du Deine Aufzeichnungen wieder gefunden?
Könntest Du die dann hier einfach "einkippen", ggf. kann man damit ja doch noch etwas für
die 470er anpassen und dann austesten?
Danke schon 'mal.

LG

Sven77

Zitat von: sua am 08 Dezember 2018, 20:59:59
Hast Du Deine Aufzeichnungen wieder gefunden?
Ja, aber ich glaube kaum dass das bei der 470 schon genauso gemacht wurde - allein schon, weil diese noch gar nicht mit 4-Byte-Registeradressen und B524-Nachrichten arbeitet.

Zum Setzen der Sonderfunktion, schreibt die VR900 immer das Register 00007400:
r;w,,SFMode,SFMode,,,,"00007400",mode,,UCH,,,0=auto 1=int.ventilation 2=party 3=quickveto,,,
Da ich nicht genau weiß, ob das alle möglichen Funktionen sind, habe ich sie nur im Kommentar erwähnt, statt gleich eine Bezeichnung für die Zahlen einzuführen. Man müsste SFMode also auf 2 setzen, um den Party-Modus zu aktivieren.

Für "einmalige Speicherladung" wird hingegen direkt nur der hwcSFMode (Register 01000D00) auf 6 gesetzt:
r;w,,hwcSFMode,hwcSFMode,,,,"01000D00",mode,,UCH,,,0=auto 1=int.ventilation 2=party 6=loadonce,,,
Das tut in meinem Hydraulikschema jedoch leider gar nichts, nicht einmal die Zirkulationspumpe wird eingeschaltet.

Wenn irgendeine dieser Funktionen aktiv ist, kann man am VRC700 und in der App jeweils nur "Abbrechen" wählen. Das setzt dann aus allen Funktionen heraus einfach das Register 00007800 zurück auf 0. Dieses kann auch während der Sonderfunktionen genutzt werden, um den Status auszulesen - es funktioniert aber nicht, allein damit eine der Sonderfunktionen zu aktivieren!
r;w,,DisplayedSFMode,DisplayedSFMode,,,,"00007800",mode,,UCH,,,0=auto 1=int.ventilation 3=party 7=holiday 9=loadonce 10=sys.off,,,

Sehr verwirrend übrigens, dass die jeweiligen Sonderfunktionen in den verschiedenen Registern teilweise unterschiedlichen Werten zugeordnet sind. Wie man den Status "System AUS" aktiviert und ob man vielleicht irgendwie auch ohne den Timer (Setzen von Start und Ende) den Urlaubsmodus aktivieren kann, habe ich bisher nicht untersucht.

Hinweis: in neueren CSVs sind die Nachrichten in verschiedene Blöcke geteilt (Global = 0000) und die Nachrichtendefinition dementsprechend kürzer. Wenn man sich die Hex-Nachrichten aber von Hand zusammenbaut, findet man das hoffentlich in beiden, z.Bsp. 'ebusctl hex 15b52407020101000d0006' für einmalige Speicherladung.
VG, Sven

rob uboot

danke für die antworten :)
damit kann man schon was anfangen.

hat irgendjemand schon mal die kühlfunktion aktivieren können?


sua

Zitat von: Sven77 am 10 Dezember 2018, 08:11:01
Ja, aber ich glaube kaum dass das bei der 470 schon genauso gemacht wurde - allein schon, weil diese noch gar nicht mit 4-Byte-Registeradressen... arbeitet.
Jo, das befürchte ich auch...
Danke für das Teilen der Infos und auch auch für die weiteren Erläuterungen.

LG

daniel1976

Hallo Ihr eBus Experten,

ich habe den tollen RPi ebus Adapter von Reinhart bekommen (vielen Dank nochmal an alle Beteiligten für dieses super Projekt) und komme soweit sehr gut mit dem Auslesen von Werten meiner Vaillant VWS102/2 zurecht.

Nun meine Frage zum Schreiben:

(meine "zuständige" .csv ist diese hier: ebusd-configuration/ebusd-2.1.x/de/vaillant/08.ehp.csv)

Ich kann einen Wert auslesen, z.B.:

ebusctl read -c ehp comphysteresis

Da kommt die Antwort 7.00 zurück, wie erwartet.


Das Schreiben dieses Parameters klappt allerdings nicht:

ebusctl write -c ehp comphysteresis 10.0

ERR: element not found



Der Wert "comphysteresis" sollte laut .csv und nach meinem Verständnis ein schreibbarer Wert sein.

Ich vermute, dass mein Format des übergebenen Wertes "10" irgendwie falsch ist.  Wird da ein String oder eine Zahl erwartet, mit oder ohne Komma ? Ich habe es mit und ohne Anführungszeichen und Dezimalpunkt versucht, aber ohne Erfolg.
Bei allen anderen möglichen Parametern aus der csv das gleiche Problem.

Ich weiss, dass die Probleme mit den .csv je nach angeschlossener Maschine sehr unterschiedlich liegen können, aber vielleicht gibt es grundsätzliche Hinweise zum ebusd Schreiben ?

Vielen Dank für Eure Hilfe

Gruß
Daniel




Sven77

Das "wi" in der CSV steht für Install-Level, du musst also den Circuit ergänzen:

ebusctl write -c ehp#install comphysteresis 10.0

Womöglich musst du beim Starten des Daemon auch den Accesslevel setzen, also vorsorglich mal "--accesslevel=*" anhängen!
VG, Sven

daniel1976

Hallo Sven77,

ganz große Klasse !   --accesslevel=*  war genau der richtige Tip.
Dann braucht es auch kein ehp#install und ich kann alle Parameter schreiben.

Vielen Dank und schönen Abend
Gruß
Daniel

Schlauer Det

#2858
Zitat von: Jojo11 am 13 Dezember 2014, 10:07:37
Hallo Heiko,

ich habe exakt die gleiche Kombination (mit einer ecoTec Plus 206) bei mir laufen und überlege auch gerade, wo ich mich an den ebus ankopple und welchen Adapter ich dazu nehme. Evtl. können wir uns beim Entschlüsseln der Befehle austauschen, sobald die hardware bei mir läuft. Ich würde lieber gerne direkt an der Heizung an den ebus gehen, auch wenn die Einheit im Wohnzimmer einen Anschluss hat. Hast Du den Anschluss schon nach draußen gelegt?

schöne Grüße
Jo

Nachtrag: Meine ecoTec hat laut Installationsanleitung auf den Platine eine RJ1x (ist es RJ10 oder RJ11?) Buchse "Diagnosis über eBus, vrnetDIALOG" sowie zwei Schraubklemmen "Anschluss für externen eBus Regler". Ist es egal, an welchen dieser Anschlüsse ich mich ankopple? Die RJ-Buchse ist noch unbelegt und bietet sich eigentlich an.

@jojo11:

Ist zwar schon ein paar Jährchen her, aber Du hattest damals wohl den eBus über eine RJ10-Buchse angeschlossen.
Ich habe jetzt das gleiche Problem mit dem Anzapfen des eBuses über die Diagnosebuchse des Vaillant-Reglers VR70, wie ich schon in einem anderen Thread berichtete.

Kannst Du mir sagen, wie Du welche Kontakte der RJ10-Buchsen/Stecker Kombination genutzt hast?

Vielen Dank im Voraus.


Vom kalten Strand
Det  :)

daniel1976

Hallo eBus-Gemeinde,

ich stelle bei mir (ebus Adapter V2 für Raspberry) fest, dass beim Auslesen mit "ebusctl read xxx" der gelesene Wert manchmal "hängenbleibt".
Das heißt, es wird bei mehrfachem Aufruf von "ebusctl read xxx" (mit mehreren Minuten Abstand) immer wieder der gleiche Wert ausgegeben, obwohl er sich eigentlich schon verändert hat.
Davon können nach dem Zufallsprinzip wohl alle auszulesenden Parameter betroffen sein.
Festsitzende Werte werden dann scheinbar unvorhersehbar irgendwann doch wieder aktualisiert. Die sicherste Variante, alle zu aktualisieren, ist das Beenden und Neustarten des ebusd Dienstes. (mit sudo service ebusd stop und sudo service ebusd start).

Ist dieses "Steckenbleiben" von ausgelesenen Werten schon jemandem untergekommen ?

Danke und Gruß
Daniel

john30

Zitat von: daniel1976 am 16 Dezember 2018, 20:22:58
ich stelle bei mir (ebus Adapter V2 für Raspberry) fest, dass beim Auslesen mit "ebusctl read xxx" der gelesene Wert manchmal "hängenbleibt".
ebusd cached die Werte, damit nicht jedes Mal ein Buszugriff erfolgt. Möchtest Du das nicht, dann forciere einfach das lesen vom Slave mittels "ebusctl read -f xxx".
author of ebusd

john30

Aus gegebenem Anlass:
Bitte sorgt dafür, dass ein /dev/ttyUSBx für ebusd nicht gleichzeitig von anderen Tools verwendet wird, wie bspw. fhem. Das kann zu Schaden an der Heizung führen!
fhem hat zudem einen Modus, in welchem USB Geräte beim Start automatisch abgescannt werden (Stichwort initialUsbCheck) und dann als Device in die fhem.cfg eingetragen werden. Auch das ist fahrlässig und sollte unbedingt vermieden werden, wenn fhem und ebusd auf dem gleichen Host laufen.
author of ebusd

daniel1976

Hallo john30,

danke für Deine aufschlussreiche Antwort, ich hatte gehofft, dass es so einfach ist. Jetzt funktioniert das Auslesen wie gewünscht.
Und Danke für Deine Arbeit am ebusd !

Gruß
Daniel

Sven77

Zitat von: Schlauer Det am 16 Dezember 2018, 10:51:15
Kannst Du mir sagen, wie Du welche Kontakte der RJ10-Buchsen/Stecker Kombination genutzt hast?
Lt. pah sollten es die beiden mittleren PINs eines RJ10-Steckers sein.
VG, Sven

Schlauer Det

#2864
@Sven77:

Vielen Dank, das hilft.

Grüße von der veregneten Küste
Det  :)


EDIT:

Habe nach Durchlesen dieses gesamten Threads in
https://forum.fhem.de/index.php/topic,29737.msg433114.html#msg433114
die gesuchte Information gefunden  :D :D :D.

Jetzt muss nur noch die RPi-Platine kommen, dann geht es los.

Aus dem hohen Norden
Det  :)