Läuft: Heizung mit eBus-Schnittstelle

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

Vorheriges Thema - Nächstes Thema

amunra

Zitat von: john30 am 18 September 2015, 07:56:38
das ist in der Tat kein leichtes Unterfangen, da die CSVs ja im ebusd komplett in die einzelnen Nachrichten und -Bestandteile aufgelöst werden.
Was sich machen ließe, wäre ein zusätzliches File, in das man die Änderungen der poll Settings ablegen könnte. Ist nicht perfekt, würde aber den Zweck erfüllen...
Ok, wenn ich länger darüber nachdenke, dann ist der Nutzen zu gering. Man stellt die Pollingintervalle einmal ein so wie man sie braucht und verändert die nicht ständig - bei Bedarf kann man einzelne Werte ja auch forciert abrufen. Also, alles gut.

amunra

Zitat von: john30 am 18 September 2015, 07:58:49
Könntest Du den zweiten Link nochmal posten?

Wie wäre es mit einem kolaborativen Projekt, in dem wir gemeinsam an den Tabellen arbeiten? Bsp. als Google Tabelle?
Link habe ich im post gefixt.

Reinhart

@amunra

Habe ich mich doch zu früh gefreut, deine 430.cvs funktioniert bei meiner 430 nur teilweise.
Ich kann jeweils nur den Montag abrufen und zurück wird jeweils das Blockprogramm Mo-Fr ausgegeben.

pi@raspberry2 ~ $ ebusctl r -f mcTTMonday
0;03:30;19:30;20:00;20:00;20:00;20:00;Mo-Fr

pi@raspberry2 ~ $ ebusctl r -f mcTTTuesday
ERR: element not found

pi@raspberry2 ~ $ ebusctl r -f mcTTSaturday
ERR: element not found

pi@raspberry2 ~ $ ebusctl r -f mcTTSunday
ERR: element not found

pi@raspberry2 ~ $ ebusctl r -f hwTTMonday
1;06:00;22:00;22:00;22:00;22:00;22:00;Mo-Fr

pi@raspberry2 ~ $ ebusctl r -f cpTTMonday
2;06:00;22:00;22:00;22:00;22:00;22:00;Mo-Fr


Warmwasseraufbereitung und Zirkulationspumpe habe ich nicht und sind abgeschaltet (vielleicht liegen hier die Unterschiede), aber die Register geben was zurück, ebenfalls nur Montag.
Es sieht für mich so aus, als würde Vaillant die Geräte mit unterschiedlichen Adressen bzw. Registern ausliefern, je nach Softwarestand. Ich habe Software Version 2.15 in der CalorMatic. Wo diese Zeitprogramme in der 430 gespeichert sind ist ja der Therme letztlich egal und muss es ja auch nicht wissen, Hauptsache es erfolgt der Ein-Befehl über den Bus.

Für mich sind die Zeitprogramme aber nicht so wichtig, weil die ohnehin von Fhem übersteuert werden.  Sie dienen nur der Grundeinstellung und werden im Betrieb dann von Fhem mit dem externen Thermostatkontakt gesteuert. Zusätzlich wird noch je nach Wärmebedarf die Heizkurve stufenlos beeinflusst und genau diese Funktionen sind ja bei unseren 430 beide gleich.

Das nur so nebenbei bemerkt. D.h. eine ordentlich Db. so wie pah es anstrebt ist sehr schwer realisierbar wenn nun die Geräte sich noch in der Softwareversion unterscheiden. Ich habe solche Meldungen in diesem Thread noch nirgends gelesen, sind aber offensichtlich real und würde auch so manche Fehlfunktion bei anderen Usern erklären.

mit dieser cvs habe ich getestest und lieferte oben dargestellte Fehlfunktionen
*r,vrc430mcp,,,,15,B515,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,mcTTMonday,Zeitfenster Montag,,,,0000,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,mcTTTuesday ,Zeitfenster Dienstag,,,,0100,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,mcTTWednesday ,Zeitfenster Mittwoch,,,,0200,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,mcTTThursday ,Zeitfenster Donnerstag,,,,0300,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,mcTTFriday ,Zeitfenster Freitrag,,,,0400,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,mcTTSaturday ,Zeitfenster Samstag,,,,0500,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,mcTTSunday ,Zeitfenster Samstag,,,,0600,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
*r,vrc430mct,,,,15,B504,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,mcTTMondayTemp,Temperatur Montag,,,,1901,,,day;temp1;temp1;temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,mcTTTuesdayTemp,Temperatur Dienstag,,,,1902,,,day;temp1;temp1;temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,mcTTWednesdayTemp,Temperatur Mittwoch,,,,1903,,,day;temp1;temp1;temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,mcTTThursdayTemp,Temperatur Donnerstag,,,,1904,,,day;temp1;temp1;temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,mcTTFridayTemp,Temperatur Freitag,,,,1905,,,day;temp1;temp1;temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,mcTTSaturdayTemp,Temperatur Samstag,,,,1906,,,day;temp1;temp1;temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,mcTTSundayTemp,Temperatur Sonntag,,,,1907,,,day;temp1;temp1;temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
*r,vrc430wwp,,,,15,B515,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,hwTTMonday,Warmwasser Zeitfenster Montag,,,,0001,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,hwTTTuesday,Warmwasser Zeitfenster Dienstag ,,,,0101,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,hwTTWednesday,Warmwasser Zeitfenster Mittwoch,,,,0201,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,hwTTThursday,Warmwasser Zeitfenster Donnerstag,,,,0301,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,hwTTFriday,Warmwasser Zeitfenster Freitag,,,,0401,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,hwTTSaturday,Warmwasser Zeitfenster Samstag,,,,0501,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,hwTTSunday,Warmwasser Zeitfenster Sonntag,,,,0601,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
*r,vrc430cpp,,,,15,B515,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,cpTTMonday,Zirkulationspumpe Zeitfenster Montag,,,,0002,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,cpTTTuesday,Zirkulationspumpe Zeitfenster Dienstag,,,,0102,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,cpTTWednesday,Zirkulationspumpe Zeitfenster Mittwoch,,,,0202,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,cpTTThursday,Zirkulationspumpe Zeitfenster Donnerstag,,,,0302,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,cpTTFriday,Zirkulationspumpe Zeitfenster Freitrag,,,,0402,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,cpTTSaturday,Zirkulationspumpe Zeitfenster Samstag,,,,0502,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,cpTTSunday,Zirkulationspumpe Zeitfenster Sonntag,,,,0602,,,status;slot;slot;slot;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,


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

amunra

#1023
Hallo Reinhart,

der Fehler:

pi@raspberry2 ~ $ ebusctl r -f mcTTTuesday
ERR: element not found

pi@raspberry2 ~ $ ebusctl r -f mcTTSaturday
ERR: element not found

pi@raspberry2 ~ $ ebusctl r -f mcTTSunday
ERR: element not found

deutet darauf hin, dass der Befehl nicht gefunden wird. Grund dafür, wie in diesem Fall, ist eine unsaubere Config.
In den von dir genannten Werten hat sich wohl ein Fehler eingeschlichen - in der CSV ist noch ein "leerzeichen" drin - einfach entfernen und erneut versuchen, dann sollte es gehen.
Die Tage stimmen wohl auch noch nicht ganz - da muss man an den Datentypen noch was drehen.
VG Grüße
Arthur

P.S: Wenn ein Wert nicht geht kannst du auch eine Abfrage auf HEX-Basis machen z.B: ebusctl write -h 15b504021905 für die Abfrage "mcTTFridayTemp". Den Result kannst du dann entsprechend umrechnen. So bin ich zumindest immer vorgegangen.

EDIT: Ich habe auch die Software Version 2.15 in der CalorMatic.

Ach, ja und mit Leerzeichen meine ich dieses: r,,mcTTWednesday ,<----------------------- | es sind noch mehr die ein Leerzeichen beinhalten.

Reinhart

Danke dir, über das Leerzeichen habe ich zigmal darüber gelesen!

Es läuft jetzt soweit, die Tage dürften passen. es wird so sein, das wenn Blockzeiten verwendet werden, diese immer am Beginn des Blockes angezeigt werden (Mo-Fr und Sa-So). D.h. in meinen Fall werden am Montag und am Samstag die Blocktage mit ausgegeben.

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

amunra

Die Wochenprogramme scheinen mir noch nicht ganz zu stimmen bzw. klar zu sein - die Register reichen von 0000 bis 0699 (nur kurz überflogen) - also da ist noch etwas Aufklärungsarbeit nötig.
VG
Arthur

john30

@amunra
Zitat von: amunra am 16 September 2015, 21:47:01
mir ist aufgefallen, dass die Rückgabewerte von dem Befehl "find -f" unstimmig sind.
Zur Analyse bräuchte ich Deine CSVs, sonst kann ich lange suchen. Also am besten zippen und mir schicken: ebusd@ebusd.eu
author of ebusd

john30

#1027
Zitat von: amunra am 18 September 2015, 14:23:04
Ach, ja und mit Leerzeichen meine ich dieses: r,,mcTTWednesday ,<----------------------- | es sind noch mehr die ein Leerzeichen beinhalten.
Ich werde im ebusd noch einbauen, dass leading+trailing spaces im Namen der Message entfernt werden, dann kann das nicht mehr passieren.
siehe https://github.com/john30/ebusd/issues/3
author of ebusd

john30

Zitat von: Prof. Dr. Peter Henning am 18 September 2015, 08:27:01
Allerdings schwebt mir immer noch eine ordentliche Datenbank vor, wäre auch bereit, den Server dafür zur Verfügung zu stellen. So etwa in der Form: ebusd connected sich mit der DB, um neue Gerätedateien zu holen.
Im Prinzip bin ich auch eher ein Freund von Datenbanken, als von CSVs. Aber jemand muss das dann aktiv pflegen, so wie jetzt die CSVs im github, die ja größtenteils aus der mdb generiert wurden.

Datei-Zugriff ist halt immer noch etwas einfacher, als DB-Zugriff, und easy mittels git pull aktuell zu halten.
Man könnte auch eine DB anfangen und daraus regelmäßig die CSVs generieren. Das fände ich auch OK.

Als neues Feature für ebusd 2.0 ist diesen Herbst die Option "--autoconf" geplant, die nach einem Bus Scan die zur Anlage passenden CSVs automatisch auswählt. Man könnte jetzt natürlich noch einen Schritt weiter denken und statt lokaler Dateien gleich die CSVs von einem Webservice um die o.g. DB abrufen. Ich persönlich bin allerdings eher kein Freund davon, aber wenn die Mehrheit das befürwortet, würd ich das schon implementieren.
author of ebusd

john30

Zitat von: amunra am 17 September 2015, 10:28:48
Ok, ich finde es nicht - ich meine den Befehl mit dem ich die Version abfragen kann - könntest du mir ein Tipp geben wie? Danke.
von welcher Version sprichst Du denn?
author of ebusd

amunra

Zitat von: john30 am 19 September 2015, 08:30:15
von welcher Version sprichst Du denn?
von dieser:
ebusd -V
ebusd 1.2.0
Viele Grüße
Arthur

john30

Zitat von: amunra am 19 September 2015, 09:23:59
von dieser:
ebusd -V
ebusd 1.2.0
Ah, verstehe. Die ist derzeit noch nicht über den Port abfragbar. Ich mach mal ein Ticket dafür: https://github.com/john30/ebusd/issues/4
author of ebusd

john30

Das trimmen der Message Namen etc. ist jetzt eingebaut.

Und noch was hab ich heute committed:
Der Cache für die Werte im ebusd wird jetzt automatisch invalidiert, wenn bspw. eine Nachricht geschrieben wird. Somit kann in Zukunft ein read unmittelbar nach einem write ohne die Option "-f" aufgerufen werden und es wird trotzdem der aktuelle Wert geholt.
author of ebusd

Jojo11

Super, danke! Werd ich gleich mal testen.

schöne Grüße
Jo


amunra

Zitat von: john30 am 19 September 2015, 08:05:09
@amunraZur Analyse bräuchte ich Deine CSVs, sonst kann ich lange suchen. Also am besten zippen und mir schicken: ebusd@ebusd.eu
Hallo John,
sorry - habs überlesen - ich habe keine spezielle - ich verwende die hier - also der Auslieferungszustand.
VG Arthur