NEWS
Adapter: ebus
-
@fortune95
Werde es gleich mal ausprobieren.
Vielen Dank ertmal -
Vielen Dank Fortune95,
das Ändern und Abfragen geht ja ganz leicht. Leider habe ich noch nicht die einmale Speicherladung hinbekommen. Den Punkt gibt es wahscheinlich nicht.
Ich hebe noch eine andere Frage: Bei meinem Regler 470 gibt es doch für Warmwasser die Punkte auto; Tag und aus.
Weisst Du vieleicht wie der Datenpunkt heißt? -
Was sagt denn "HwcOPMode"?
-
@fortune95 Die Daten kann ich nur lesen, habe die 15.470.csv in r;w, umgewandelt. Kommt aber: Kann nicht gefunden werden.
Kann man den Datenfluss nicht irgendwie abfangen, da ich ja die Daten setzen kann? -
Hallo, ich hab mir dafür Scripts gebaut die man dann auch im VIS als Objekte bedienen kann.
Hier mal die VIS als Bildund meine Scripts dazu.
createState('javascript.0.Heizung.Warmwasserschalter', {type: 'string',def: 1}); on('javascript.0.Heizung.Warmwasserschalter', function (obj) { if (obj.state.val == "manual"){ log("Wert wurde auf manual gesetzt", 'info'); exec('ebusctl write -c 430 HwcOPMode "manual"'); } else if (obj.state.val == "off"){ log("Wert wurde auf off gesetzt", 'info'); exec('ebusctl write -c 430 HwcOPMode "off"'); } else if (obj.state.val == "auto"){ log("Wert wurde auf auto gesetzt", 'info'); exec('ebusctl write -c 430 HwcOPMode "auto"'); } });
createState('javascript.0.Heizung.Innentemperatur man', {type: 'number',def: 1}); on('javascript.0.Heizung.Innentemperatur man', function (obj) { if (obj.state.val == "20"){ log("Wert wurde auf 20 Grad gesetzt", 'info'); exec('ebusctl write -c 430 Hc1ManualOPRoomTempDesired 20'); } else if (obj.state.val == "20.5"){ log("Wert wurde auf 20,5 Grad gesetzt", 'info'); exec('ebusctl write -c 430 Hc1ManualOPRoomTempDesired 20.5'); } else if (obj.state.val == "21,0"){ log("Wert wurde auf 21 Grad gesetzt", 'info'); exec('ebusctl write -c 430 Hc1ManualOPRoomTempDesired 21'); } else if (obj.state.val == "21.5"){ log("Wert wurde auf 21,5 Grad gesetzt", 'info'); exec('ebusctl write -c 430 Hc1ManualOPRoomTempDesired 21.5'); } else if (obj.state.val == "22"){ log("Wert wurde auf 22 Grad gesetzt", 'info'); exec('ebusctl write -c 430 Hc1ManualOPRoomTempDesired 22'); } else if (obj.state.val == "22.5"){ log("Wert wurde auf 22,5 Grad gesetzt", 'info'); exec('ebusctl write -c 430 Hc1ManualOPRoomTempDesired 22.5'); } else if (obj.state.val == "23"){ log("Wert wurde auf 23 Grad gesetzt", 'info'); exec('ebusctl write -c 430 Hc1ManualOPRoomTempDesired 23'); } else if (obj.state.val == "23.5"){ log("Wert wurde auf 23,5 Grad gesetzt", 'info'); exec('ebusctl write -c 430 Hc1ManualOPRoomTempDesired 23.5'); } else if (obj.state.val == "24"){ log("Wert wurde auf 24 Grad gesetzt", 'info'); exec('ebusctl write -c 430 Hc1ManualOPRoomTempDesired 24'); } else if (obj.state.val == "24.5"){ log("Wert wurde auf 24,5 Grad gesetzt", 'info'); exec('ebusctl write -c 430 Hc1ManualOPRoomTempDesired 24.5'); } else if (obj.state.val == "25"){ log("Wert wurde auf 25 Grad gesetzt", 'info'); exec('ebusctl write -c 430 Hc1ManualOPRoomTempDesired 25'); } });
createState('javascript.0.Heizung.Heizungsmodus', {type: 'number',def: 1}); on('javascript.0.Heizung.Heizungsmodus', function (obj) { if (obj.state.val == "0"){ log("Wert wurde auf off gesetzt", 'info'); exec('ebusctl write -c 430 Hc1RoomTempSwitchOn "0"'); } else if (obj.state.val == "1"){ log("Wert wurde auf modulating gesetzt", 'info'); exec('ebusctl write -c 430 Hc1RoomTempSwitchOn "1"'); } else if (obj.state.val == "2"){ log("Wert wurde auf thermostat gesetzt", 'info'); exec('ebusctl write -c 430 Hc1RoomTempSwitchOn "2"'); } });
createState('javascript.0.Heizung.Heizungsschalter', {type: 'string',def: 1}); on('javascript.0.Heizung.Heizungsschalter', function (obj) { if (obj.state.val == "manual"){ log("Wert wurde auf manual gesetzt", 'info'); exec('ebusctl write -c 430 Hc1OPMode "manual"'); } else if (obj.state.val == "off"){ log("Wert wurde auf off gesetzt", 'info'); exec('ebusctl write -c 430 Hc1OPMode "off"'); } else if (obj.state.val == "auto"){ log("Wert wurde auf auto gesetzt", 'info'); exec('ebusctl write -c 430 Hc1OPMode "auto"'); } });
createState('javascript.0.Heizung.Heizungsmodus', {type: 'number',def: 1}); on('javascript.0.Heizung.Heizungsmodus', function (obj) { if (obj.state.val == "0"){ log("Wert wurde auf off gesetzt", 'info'); exec('ebusctl write -c 430 Hc1RoomTempSwitchOn "0"'); } else if (obj.state.val == "1"){ log("Wert wurde auf modulating gesetzt", 'info'); exec('ebusctl write -c 430 Hc1RoomTempSwitchOn "1"'); } else if (obj.state.val == "2"){ log("Wert wurde auf thermostat gesetzt", 'info'); exec('ebusctl write -c 430 Hc1RoomTempSwitchOn "2"'); } });
-
@hasont Danke für die Antwort. Leider habe ich einen 470 Regler mit meinem alten 430 funktioniert es auch. Mir geht es aber darum, dass meine Frau im Notfall an dem Regler "einmal Speicherladung" einstellen kann.
Aber auch diese funktion kann ich nicht aktivieren. Darum habe ich gedacht, dass ich über Warmwasser ein und aus es über den iobroker regeln könnte. -
Der Befehl
ebusctl write -c 470 HwcOPMode "manual"
geht nicht?
Als Status steht oben doch "470 HwcOPMode = off"
Also kann er den aktuellen Status ja auch auslesen!
Wichtig ist, dass du den Wert in "manual" "auto" oder "off" in " " eingibst. -
@hasont sagte in Adapter: ebus:
ebusctl write -c 470 HwcOPMode "manual"
habe ich auch schon versucht
ebusctl write -c 470 HwcOPMode "manual"
ERR: element not found -
Manual gibt es in der 470 nicht:
enum Values_HwcOPMode {
off: 0,
on: 1,
auto: 2,
autosunday: 3,
party: 4,
load: 5,
holiday: 7,Probier mal 1 für "on"
-
Habe sowohl aus auch Zahlen und Wörter benutzt
-
Hallo, ich habe heute gesehen, dass es seit 11.07 17:35 keine Updates mehr in meinen Ebus Objekten gibt.
Raspi Update und Upgrade habe ich schon gemacht aber nach Neustart der IoBroker Instanz kommt im Log immer
"system.adapter.ebus.0 schedule attribute missing"
Auch das EBUS Update auf 3.6.2 hat keine Verbesserung gebracht.Habt Ihr ne Idee wo ich da ansetzen könnte oder muss ich den EBUS neu aufsetzen?