Läuft: Heizung mit eBus-Schnittstelle

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

Vorheriges Thema - Nächstes Thema

jkriegl

#1050
@ Jojo11 Woher kommt dieser Status? Ist so nicht in den Original-csv's

r -f -c mc Timer.Sunday liefert: 07:30;08:30;14:00;14:00;20:00;20:00;Sa-So
Als hex-gelesen ebusctl w -h 50b5040108 -> 072d335454787802
Also Länge 07; 2d entspr. 07:30; 33 entspr. 08:30; 54 entspr. 14:00 usw. 2=Sa-So

Wie sieht der csv-Eintrag aus? ebusctl f -f -c mc Timer.Sunday
Edit:
r,mc,Timer.Sunday,Zeitfenster Sonntag,,50,b504,08,slot,s,TTM,,,Slot von/bis,to,s,TTM,,,bis,slot,s,TTM,,,Slot von/bis,to,s,TTM,,,bis,slot,s,TTM,,,Slot von/bis,to,s,TTM,,,bis,daysel,s,UCH,0=selected;1=Mo-Fr;2=Sa-So;3=Mo-So,,

Da steht am Anfang nur "r", also nur Lesen
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

Jojo11

Einen Ausschnitt der csv habe ich angehängt.
Mein Gerät ist nicht das 50er, sondern das 15er. Ich kann nicht mehr genau sagen, wo der status herkommt. Wenn ich "status;" weglasse, bekomme ich eine Fehlermeldung.


ebusctl f -f -c vc470f_cp cpTTMonday
r,vc470f_cp,cpTTMonday,Zirkulationspumpe Zeitfenster Montag,,15,b515,0002,status,s,UCH,,,,slot,s,TTM,,,Slot von/bis,to,s,TTM,,,bis,slot,s,TTM,,,Slot von/bis,to,s,TTM,,,bis,slot,s,TTM,,,Slot von/bis,to,s,TTM,,,bis,daysel,s,UCH,0=selected;1=Mo-Fr;2=Sa-So;3=Mo-So,,

ebusctl r -f -c vc470f_cp cpTTMonday
2;05:50;19:30;22:10;22:10;23:50;23:50;Mo-Fr


schöne Grüße
Jo

Reinhart

@Jojo11

ich kann dir leider nicht sagen welche Register zum Schreiben vorgesehen sind ich nehme an das B516.

*w,vrc430mcp,,,,15,B516,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

Ich habe schon etwas experimentiert, aber erhalte entweder "Input reached" oder "invalid numeric argument". Ich kann hier auch nichts mitloggen wenn ich Zeiten an der Calormatic verstelle, da ist kein Datenverkehr zur bai00 zu sehen.
Vielleicht hat amunra da schon Erfahrungen sammeln können und kann uns hier weiterhelfen. Aber eins scheint klar zu sein, bei der 430 und 470 sind die Register ident zu behandeln.

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

Jojo11

Ok, dann werde ich mal weiter testen. "status" und "daysel" passt irgendwie nicht. Da muss ich morgen mal genau nachschauen, was ich in der calormatic eingestellt habe. Schreiben werde ich erst testen, wenn das Gelesene Sinn macht.

schöne Grüße
Jo

amunra

#1054
bin leider kurz angebunden daher meine Erkenntnisse:
Ein Beispiel:
1) wir nehmen
r mcTTMonday Heizkreis Zeitfenster Montag 0000
setzt sich zusammen aus:
15 B5 15 02 00 00
2) HEX Befehl:
ebusctl write -h 15B515020000
bekommen ich bei mir als Result folgendes:
08 || 00 || 00 || 24 || 27 || 8a || 8a || 90 || 01
3) Ich intepretiere es so:
08 = Länge || 00h => 0 DEC  / 6 = 00:00 || 00h => 0 DEC  / 6 = 00:00 || 24h => 36 DEC  / 6 = 06:00; || 27h => 39 DEC  / 6 = 06:00  Rest 3 = 06:30;|| 8ah => 138 DEC/6 = 23:00 || 8ah => 138 DEC/6 = 23:00 || 90=>144/6=24:00 || 01=>Mo-Fr (0=selected;1=Mo-Fr;2=Sa-So;3=Mo-So)
4) Ergebnis verifisziert auf dem 430 Display:
01=Mo-Fr
1| 0:00 - 6:00
2| 6:30 - 23:00
3| 23:00 - 24:00


PASST!

Mich verwirrt nur das zweite Byte in der Message "00" - manchmal ist der Wert 00 manchmal 02 etc.
Wo ist der Denkfehler?
Aber jo hat glaube ich den richitgen Hinweis geliefert:
Zitat von: Jojo11 am 23 September 2015, 19:38:08

Wobei Status folgende Werte liefert:
0: Heizkreislauf
1: Warmwasser
2: Zirkulationspumpe

Ist das richtig?

@Jo
gibt mal bitte ein:
ebusctl write -h 15B515020602
und poste hier das Ergebnis.
oder besser gleich für alle Tage:

ebusctl write -h 15B515020002
ebusctl write -h 15B515020102
ebusctl write -h 15B515020202
ebusctl write -h 15B515020302
ebusctl write -h 15B515020402
ebusctl write -h 15B515020502
ebusctl write -h 15B515020602

@Reinhart
Nein, leider noch nicht - Zeitmangel (das alles hier läuft nur nebenbei) und andere Prios :(

VG Arthur

Jojo11

#1055
Zitat von: amunra am 23 September 2015, 21:41:34
...
@Jo
gibt mal bitte ein:
ebusctl write -h 15B515020602
und poste hier das Ergebnis.

...

VG Arthur

Da kommt Folgendes bei raus:

ebusctl write -h 15B515020602
0802237585858f8f01


Welche Zeiten habe ich denn jetzt geändert?  :o

schöne Grüße
Jo

amunra

Ich habe mein Post editiert bitte alle Tage abfragen.
Write hat nicht wirklich etwas mit "schreiben" also Werte verändern zu tun - also keine Sorge.
VG Arthur

Jojo11

Ok, kann ich aber leider erst morgen testen.

schöne Grüße
Jo

jamesgo

#1058
Moin,
für die 470 kannst du die Zirkulationspumpe mit folgender .csv setzten und lesen:


*r,470c,,,,15,B515,,,,,,,
*w,470c,,,,26,B515,,,,,,,
r,,cTTMonday,Zeitfenster Montag,,,,0002,,,status;slot;slot;slot;daysel2,,,,,,,,,,,
r,,cTTTuesday,Zeitfenster Dienstag,,,,0102,,,status;slot;slot;slot;daysel2,,,,,,,,,,,
r,,cTTWednesday,Zeitfenster Mittwoch,,,,0202,,,status;slot;slot;slot;daysel2,,,,,,,,,,,
r,,cTTThursday,Zeitfenster Donnerstag,,,,0302,,,status;slot;slot;slot;daysel2,,,,,,,,,,,
r,,cTTFriday,Zeitfenster Freitrag,,,,0402,,,status;slot;slot;slot;daysel2,,,,,,,,,,,
r,,cTTSaturday,Zeitfenster Samstag,,,,0502,,,status;slot;slot;slot;daysel2,,,,,,,,,,,
r,,cTTSunday,Zeitfenster Sonntag,,,,0602,,,status;slot;slot;slot;daysel2,,,,,,,,,,,
#
w,,cTTMonday,Zeitfenster Montag,,,,0002,,,slot;slot;slot;daysel2,,,,,,,,,,,
w,,cTTTuesday,Zeitfenster Dienstag,,,,0102,,,slot;slot;slot;daysel2,,,,,,,,,,,
w,,cTTWednesday,Zeitfenster Mittwoch,,,,0202,,,slot;slot;slot;daysel2,,,,,,,,,,,
w,,cTTThursday,Zeitfenster Donnerstag,,,,0302,,,slot;slot;slot;daysel2,,,,,,,,,,,
w,,cTTFriday,Zeitfenster Freitrag,,,,0402,,,slot;slot;slot;daysel2,,,,,,,,,,,
w,,cTTSaturday,Zeitfenster Samstag,,,,0502,,,slot;slot;slot;daysel2,,,,,,,,,,,
w,,cTTSunday,Zeitfenster Sonntag,,,,0602,,,slot;slot;slot;daysel2,,,,,,,,,,,


in der _template.csv brauchst du aber noch folgendes:


daysel2,UCH,0=selected;1=Mo-So;2=Mo-Fr;3=Sa-So,,


Das ist dann das Tagesprogramm (beim Auslesen). Beim Schreiben brauchst du das Tagesprogramm nicht mitgeben. Einfach die Wochentage setzten. Falls Mo-Fr gleich gesetzt sind kommt beim lesen "Mo-Fr" zurück. Unterscheiden sich die Tage, dann "selected".

Grüße
Andy

Reinhart

Danke Andy!

kannst du uns ein Beispiel hier geben wie die Syntax des Schreibbefehles aussehen muss?

ebusctl w -c 470mc mcTTMonday ?????????


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

jamesgo

klar :-)


andreas@be1:/etc/ebusd$ ebusctl
localhost: r -f -c 470c cTTMonday
2;05:30;05:50;-:-;-:-;-:-;-:-;selected

localhost: w -c 470c cTTMonday "05:30;05:40;24:00;24:00;24:00;24:00;selected"
done

localhost: r -f -c 470c cTTMonday
2;05:30;05:40;-:-;-:-;-:-;-:-;selected

localhost:


jkriegl

#1061
Habe zwar eine 620, es klappt mit:
w -c cp Timer.Monday "08:00;08:10;18:00;18:00;22:00;22:00;selected"
done

Toll wäre eine ebusd-Funkion, die wie beim read, statt Lesen, beim write einzelene Felder ersetzt.
r -f -c cp Timer.Monday to.0  --> 08:10
w -f -c cp Timer.Monday to.0 "08:20" (die notwendigen Daten sind im cache)

VG Josef K.
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

Prof. Dr. Peter Henning

Das wäre aber sehr gefährlich. Man überschreibt nicht ganze Arrays mit Werten, die man nicht kennt - sondern die nur irgendwo im Cache stehen.

LG

pah

Jojo11

Zitat von: amunra am 23 September 2015, 21:41:34
...
oder besser gleich für alle Tage:

ebusctl write -h 15B515020002
ebusctl write -h 15B515020102
ebusctl write -h 15B515020202
ebusctl write -h 15B515020302
ebusctl write -h 15B515020402
ebusctl write -h 15B515020502
ebusctl write -h 15B515020602

...
VG Arthur

Ok, hier ist das immer gleiche Ergebnis:


ebusctl write -h 15B515020002
0802237585858f8f01

ebusctl write -h 15B515020102
0802237585858f8f01

ebusctl write -h 15B515020202
0802237585858f8f01

ebusctl write -h 15B515020302
0802237585858f8f01

ebusctl write -h 15B515020402
0802237585858f8f01

ebusctl write -h 15B515020502
0802237585858f8f01

ebusctl write -h 15B515020602
0802237585858f8f01


schöne Grüße
Jo

Jojo11

Zitat von: jamesgo am 24 September 2015, 05:13:11
Moin,
für die 470 kannst du die Zirkulationspumpe mit folgender .csv setzten und lesen:
...

in der _template.csv brauchst du aber noch folgendes:


daysel2,UCH,0=selected;1=Mo-So;2=Mo-Fr;3=Sa-So,,


Das ist dann das Tagesprogramm (beim Auslesen). Beim Schreiben brauchst du das Tagesprogramm nicht mitgeben. Einfach die Wochentage setzten. Falls Mo-Fr gleich gesetzt sind kommt beim lesen "Mo-Fr" zurück. Unterscheiden sich die Tage, dann "selected".

Grüße
Andy

Danke! Ich denke "daysel2" war der entscheidende Unterschied.

daysel,UCH,0=selected;1=Mo-Fr;2=Sa-So;3=Mo-So,,
daysel2,UCH,0=selected;1=Mo-So;2=Mo-Fr;3=Sa-So,,


Ich bin noch nicht dazu gekommen, die Einstellungen auch an der Heizung zu verifizieren, aber das müsste ja jetzt passen. Damit kann ich wieder ein wenig rumprobieren  ;D

schöne Grüße
Jo