Läuft: Heizung mit eBus-Schnittstelle

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

Vorheriges Thema - Nächstes Thema

alpha1974

@Gerd: Was für eine Steuerung hängt denn an deiner Wolf-Therme?

Das Mitschneiden der Datenströme ist nämlich z.B. bei einem Wolf BM-2 als Regler gar nicht so trivial, weil bestimmte Einstellungen, die man manuell ändert, scheinbar nicht über den Ebus kommuniziert werden, sondern über eine Nachricht an den BM-2 abgefragt werden müssen (geht bei mir inzwischen zumindest für das eingestellte Heizprogramm). Jedenfalls konnte ich bei meinen Tests durch Mitschneiden der Nachrichten keine eindeutig zuzuordnenden Nachrichten identifizieren, wenn man z.B. das Heizprogramm manuell am Regler ändert.
FHEM/Z-Wave USB-Dongle + div. Devices

Gerd.Ternes

@alpha1974
Ich habe eine Wolf Therme mit einer BM-2 als Regler. Den ebus greife ich bei dem BM Teil ab. Ich habe schon einmal einen ebus von Wolf (ISM 1) daran gehabt, aber der war ziemlich umständlich.
Mit den jetztigen Dateien kann ich schon einmal einige Daten abgreifen, wenn mir auch der import in fhem einige Probleme macht.

VG

Gerd

Prof. Dr. Peter Henning

Ich vermute mal, dass nicht das Heizprogramm abgefragt wird. Sondern die Solltemperatur für den Vorlauf.

Mit anderen Worten: Das Heizprogramm wird im Regler gefahren, und die Therme erfährt auf Nachfrage (=pull, oder per Anweisung=push) nur, welchen Wert sie für die Vorlauftemperatur einstellen soll.

LG

pah

alpha1974

#1608
Das Heizprogramm wird tatsächlich im Regler gefahren und die Therme erfährt per push, was sie machen soll (allerdings ohne zu erfahren, welches Heizprogramm sie gerade bedient). Davon unabhängig kann man aber vom Regler das eingestellte Heizprogramm abfragen.

Reichlich unschön, weil noch nicht in CSV umgesetzt, sieht das in meiner Classdefs-Datei für das ECMD-Device so aus (35 ist der BM-2 Regler, das ECMD-Device ist eingerichtet nach der Anleitung aus dem FHEM-ebus-Wiki) ):
# Heizprogramm BM-2 abfragen
get Heizprogramm cmd {"w -h 35502203ff7427\n"}
get Heizprogramm expect "020[0-9]00\n\n"
get Heizprogramm postproc { sprintf("%s",$_) }

# Heizprogramme BM-2 setzen
set Heizprogramm_Automatik cmd {"w -h 3550230900742701005D010010\n"}
set Heizprogramm_Standby cmd {"w -h 3550230900742700005D010010\n"}
set Heizprogramm_Sparbetrieb cmd {"w -h 3550230900742703005D010010\n"}
set Heizprogramm_Dauerheizen cmd {"w -h 3550230900742702005D010010\n"}


Die vom BM-2 gesendete Antwort auf die Abfrage des Heizprogramms wird dann - noch unschöner - über ein Stateformat im    
ECMDDevice formatiert:

{if (ReadingsVal("Heizprogramm","Heizprogramm",0) == "020100") {"Automatik"}
elsif (ReadingsVal("Heizprogramm","Heizprogramm",0) == "020300") {"Sparbetrieb"}
elsif (ReadingsVal("Heizprogramm","Heizprogramm",0) == "020000") {"Standby"}
elsif (ReadingsVal("Heizprogramm","Heizprogramm",0) == "020200") {"Dauerheizen"}}


Kann man vermutlich (wahrscheinlich sogar sicherlich  :)) eleganter umsetzen über eine ebus-CSV. Leider kann ICH das nicht. Aber für meinen Anwendungsfall (Auslesen und Änderung des Heizprogramms am Regler) reicht mir meine Gefrickel-Lösung - weil sie läuft.

Für Gerd: Ich habe noch meine äußerst experimentelle CSV angehängt, die einige ebus-Nachrichten meiner Therme (Wolf CGB-2-14) "entschlüsselt". Weiter bin ich noch nicht gekommen, so richtig funktionieren auch nur die Einträge unterhalb von betrd_bm2. Wie ich dem Regler die von ihm gemessene Raumtemperatur entlocke, habe ich auch noch nicht herausgefunden.
FHEM/Z-Wave USB-Dongle + div. Devices

Prof. Dr. Peter Henning

Vlt. doch mal probieren - ist echt einfach, wenn man eine OpenOffice Calc-Datei (von mir aus auch Excel) anlegt und die Daten schrittweise einträgt. Man kann sehr leicht verfolgen, was der ebusd tatsächlich abschickt.


Außerdem würde ich empfeheln, die ganze Auswerterei aus dem ECMD heraus in ein Modul 99_HeatingUtils zu verlagern. Sehr viel besser zu handhaben.

LG

pah

Gerd.Ternes

#1610
alpha1974, Peter,

danke erst einmal für die Infos. Ich werde mich am Freitag wohl erst damit beschäftigen können. Aber das Ganze sieht doch schon sehr vielversprechend aus.


Gerd

Gerd.Ternes

#1611
Hallo Peter,

das ganze lässte mir doch keine Ruhe und ich möchte mich heute noch einmal versuchen. Gibt es eine Beschreibung für die csv files?

VG

Gerd

john30

Zitat von: istler am 27 Februar 2016, 17:38:28
Einige Variablen sind jetzt vollständig mit Namen versehen, z.B.:
Da sind in der JSON-Struktur nun keine Zahlen mehr in den Fields-Bezeichnern vorhanden sondern die Namen, deshalb läuft dein HTML bzw. JS-Script ins leere. In der Zeile wo du nun die Werte abholst um sie zu aktualisieren und die "parts" überprüfst (ab Zeile 253 in der index.html):
Evtl. klappt ja deswegen einigen Sachen nicht mehr z. B. DCF-Empfänger / Außenfühler.
So, das ist jetzt im aktuellen git code gefixt. Hatte schon länger dran gearbeitet, aber es nicht fertig bekommen...
author of ebusd

john30

Zitat von: Marie01 am 22 März 2016, 20:54:27
ApplianceCode 42

Mit vrDialog bekomm ich den TEV Eintritt angezeigt.

Kannst Du mir mal schreiben, was "ebusctl w -h 08b509030d7601" für ein Ergebnis bringt?
author of ebusd

john30

Zitat von: Gerd.Ternes am 24 März 2016, 11:27:33
das ganze lässte mir doch keine Ruhe und ich möchte mich heute noch einmal versuchen. Gibt es eine Beschreibung für die csv files?
Guckst Du hier:
https://github.com/john30/ebusd/wiki/4.-Configuration
author of ebusd

Marie01

Zitat von: john30 am 25 März 2016, 10:14:04
Kannst Du mir mal schreiben, was "ebusctl w -h 08b509030d7601" für ein Ergebnis bringt?

ebusctl w -h 08b509030d7601
liefert
0105

Gerd.Ternes

Zunächst einmal ein großes "Dankeschön" an alle die so viel Geduld mit mir hatten, bzw. haben.
Ich habe mich gestern einmal an den Files für die Wolf Heizung versucht und ich denke der Ansatz von pah ist in Ordnung, das Ganze step by step zu machen.
das erste file das ich mir ausgesucht habe lautet:
f1fe0800089a3a000600000037
ich habe hieraus einfach einmal die Werte auf wert(Wolf _templates) gesetzt und erhalte als Daten:
154;58;6.000;0.000;10.000 (vorderer Teil ist gekürzt).
beim längeren log sehe ich, dass sich die Werte verändern. Um 22:00 Uhr (Nachtabsenkung) erhalte ich folgende Daten
0;55;6.000;0.000;10.000
nach kurzer Zeit ändern sich die Werte in
102;56;5.000;0.000;10.000,
wenn die Heizung dann wieder anläuft (4:00 Uhr morgens) sehe ich:
26;60;5.000;0.000;55.000,
Auch sehe ich, dass sich die Werte beim Programmwechsel verändern (s. Anlage).
Mir fehlt jetzt der Stups in eine Richtung wie ich daraus Info´s erhalten kann, die ich nachher auch auswerte (Welch infos sind das, welche Maßeinheiten usw.).

Danke im Voraus.

gerd 


Marie01

@John:
ich hab' das 08.ehp.csv manuel editiert und den Appliance Code bis 42 erweitert.
Kann die CondensorTemp und weiter felder nun auslesen.

Danke für deine Unterstützung.

john30

Zitat von: Marie01 am 25 März 2016, 12:21:46
ich hab' das 08.ehp.csv manuel editiert und den Appliance Code bis 42 erweitert.
Kann die CondensorTemp und weiter felder nun auslesen.
das tuts natürlich auch. habe aber festgestellt dass vrdialog die abfrage anders durchführt. die CSVs in ebusd-2.x.x spiegeln das jetzt wieder.
author of ebusd

stinch

Hallo,

wie bzw wo erhalte ich die Daten als json-File?

Vg
David