eBus Schaltung in Betrieb nehmen

Begonnen von Reinhart, 23 Dezember 2015, 15:19:45

Vorheriges Thema - Nächstes Thema

john30

Zitat von: Franky1992 am 23 Juni 2016, 12:40:10
als Master gibt es laut FTDI traffic auf dem ebus als slave ist alles tot!?
dann wird wohl keiner dein gerät als slave adressieren.

Zitat von: Franky1992 am 23 Juni 2016, 12:40:10
wenn ich die Parameter um --receivetimeout ergänze startet der Service nicht mehr!?
du musst schon noch nen wert übergeben. bitte wiki lesen:
https://github.com/john30/ebusd/wiki/2.-Run
author of ebusd

rufus999

Hallo zusammen,

kann jemand helfen? Ich verwende ebusd 2.0.p20160112 auf einem raspi mit debian jessie.
Ich möchte folgenden Befehl abgeben:

ebusctl w -c 430 hwcTimer.Saturday "07:30;23:30;24:00;24:00;24:00;24:00;2" und erhalte auf der consonle ein "done".

Wennn ich nun ein ebusctl r -f hwcTimer.Saturday mache stehen dort immer noch meine alten Werte drin und nicht die eben gesetzten. In dem ebusd.log tauchen keine Fehler auf auch wenn ich den ebusd mit --lograwdata starte sehe ich nichts.

Wo kann ich noch weitere Infos bekommen was schief läuft?! Andere Dinge kann ich ändern wie z.B. Heizkurve, Tagestemperatur und so weiter.

Für Tipps wäre ich sehr dankbar.

Viele Grüße

rufus999

jkriegl

#557
Hast Du schon so etwas probiert?
07:30;07:40;-:-;-:-;-:-;-:-;selected
Klappt bei mir aus FHEM via ECMD
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

john30

Zitat von: rufus999 am 25 Juni 2016, 15:30:58
ebusctl w -c 430 hwcTimer.Saturday "07:30;23:30;24:00;24:00;24:00;24:00;2" und erhalte auf der consonle ein "done".

Wennn ich nun ein ebusctl r -f hwcTimer.Saturday mache stehen dort immer noch meine alten Werte drin und nicht die eben gesetzten. In dem ebusd.log tauchen keine Fehler auf auch wenn ich den ebusd mit --lograwdata starte sehe ich nichts.
das scheint eine Eigenart der 430 zu sein. Habs gerade mal an einem meiner Mischer ausprobiert und da passiert genau das erwartete.
Du könntest mal noch ne Minute warten und schauen, ob dann das richtige drin steht.
VG John
author of ebusd

sua

Zitat von: rufus999 am 25 Juni 2016, 15:30:58... kann jemand helfen? Ich verwende ebusd 2.0.p20160112 auf einem raspi mit debian jessie.
Ich möchte folgenden Befehl abgeben:
ebusctl w -c 430 hwcTimer.Saturday "07:30;23:30;24:00;24:00;24:00;24:00;2"...
Hallo,

laut meiner 470 steht bei mir mit:
ebusctl r -f hwcTimer.Sunday
> 06:20;22:30;22:30;22:30;22:30;22:30;Mo-Fr


hast Du es 'mal mit:
ebusctl w -c 430 hwcTimer.Saturday "07:30;23:30;23:30;23:30;23:30;23:30;2"
probiert?

LG,
sua

rufus999

Hallo zusammen,

und vielen Dank für eure Vorschläge. Ich habe leider nicht viel Zeit im Moment deshalb melde ich mich erst jetzt.

Ich konnte das Problem weiter eingrenzen. Ich schreibe euch jetzt was ich nochmals getestet habe. In meinem ersten Post wird die Problematik nicht klar
weil ich selber noch nicht verstanden habe wie es funktioniert. Sorry  ???

Deshalb mein neuer Versuch:

Folgendes funktioniert:
ebusctl w -c 430 hwcTimer.Monday "07:30;23:30;23:30;23:30;23:30;23:30;1"
und folgendes funktioniert auch
ebusctl w -c 430 ccTimer.Monday "07:30;23:30;23:30;23:30;23:30;23:30;1"

folgendes funktioniert nicht ganz
ebusctl w -c 430 hc1Timer.Monday "07:30;23:30;23:30;23:30;23:30;23:30;1"
Bei diesem hc1Timer stimmt plötzlich der Tagesblock nicht mehr. Bei den ersten beiden steht Mo-So, beim hc1Timer Mo-Fr  :-[
Wenn ich nun ins ./vailant/_template schau stimmen diese Zahlenzuordnungen nicht. Beim hc1Timer kann ich auch leider keine 2 oder 3 benutzen, denn wenn ich das mache
wird der Timer nicht mehr gesetzt, ebus quitiert zwar mit done aber es landet nichts davon auf der 430.

Es hat also irgend etwas mit dem hc1Timer und den Tagesblöcken (Mo-So, Mo-Fr, Sa-So) zutun.

Gruß rufus999

john30

Zitat von: rufus999 am 29 Juni 2016, 09:08:07
folgendes funktioniert nicht ganz
ebusctl w -c 430 hc1Timer.Monday "07:30;23:30;23:30;23:30;23:30;23:30;1"
Bei diesem hc1Timer stimmt plötzlich der Tagesblock nicht mehr. Bei den ersten beiden steht Mo-So, beim hc1Timer Mo-Fr  :-[
Wenn ich nun ins ./vailant/_template schau stimmen diese Zahlenzuordnungen nicht. Beim hc1Timer kann ich auch leider keine 2 oder 3 benutzen, denn wenn ich das mache
wird der Timer nicht mehr gesetzt, ebus quitiert zwar mit done aber es landet nichts davon auf der 430.

Es hat also irgend etwas mit dem hc1Timer und den Tagesblöcken (Mo-So, Mo-Fr, Sa-So) zutun.

das liegt daran, dass es für diesen Timer keine Tagesauswahl Möglichkeit gibt. Hier greift nur "0" bzw. "selected" als Taghesauswahl, weil jeder Tag fix seine eigenen Einstellungen hat.
author of ebusd

rompriest

Hallo zusammen,

ich habe seit einer Woche das e-Service modul und habe soweit auch schon alles lesend über ftui für meine Wärmepumpe Vaillant VWS 62/2 (Modul ehp) eingerichtet, was mir wichtig ist. Vielen Dank an dieser Stelle an alle die diese Anbindung möglich machen!

jetzt habe ich mich an die zu schreibenden Umfänge gewagt- bisher mit gemischtem Erfolg:

1. Die Heizkurve kann ich schreiben, Umsetzung entsprechend Beispiel Reinhart funzt

2. Jetzt möchte ich die Warmwasser Max Temperatur schreiben (Schalter "StorageTempDesiredStop" im modul hwc). Über Konsole kann ich mit dem Befehl


ebusctl write -c hwc#install StorageTempDesiredStop 46


in meine bai00.cfg habe ich entsprechend der Heizkurve folgenden Part übernommen, der aber ohne dezidierte Fehlermeldung (state "WWmaxSchreiben") keine Änderung hervorruft


# WWmaxSchreiben
get WWmaxSchreiben cmd {"write -c hwc#install StorageTempDesiredStop ".Value("WWmaxEinstellen")."\n"}
get WWmaxSchreiben expect ".*\n"
get WWmaxSchreiben postproc  { $_ }


in der fhem.cfg steht folgendes


define WWmaxEinstellen dummy
attr WWmaxEinstellen group WWmax_Einstellen
attr WWmaxEinstellen icon temp_control
attr WWmaxEinstellen room Vaillant,Heizung
attr WWmaxEinstellen setList state:46.0,48.0,50.0,52.0,54.0,56.0,58.0
attr WWmaxEinstellen webCmd state

define WWmaxSchreiben_Click notify WWmaxEinstellen {\
fhem("get WWmaxSchreiben WWmaxSchreiben");;\
}
attr WWmaxSchreiben_Click group heatingControl
attr WWmaxSchreiben_Click room Vaillant

define WWmaxSchreiben ECMDDevice bai00.class
attr WWmaxSchreiben IODev emcdEBUS1
attr WWmaxSchreiben group WWmax_Einstellen
attr WWmaxSchreiben room Vaillant


3. Ich habe die Schalter für "Einmalige Speicherladung" noch nicht entdecken können, jemand eine Idee?

Reinhart

#563
@rompriest

zu Punkt2:
Um ganz sicher zu gehen was hier fehl schlägt, setzte vorerst einmal den Befehl ab und schaue das in Logfile.

sollte so ähnlich anusschauen:
Zitat2016.07.09 13:25:13 3: get WarmWasserSchreiben WarmWasserSchreiben : WarmWasserSchreiben done
2016.07.09 13:25:13 3: WarmWasserSchreiben_Click return value: WarmWasserSchreiben done

Eigentlich sollte deine Konfiguration funktionieren, du hast sie gut wie aus dem Beispiel der Heizkurve übernommen und perfekt angepasst. Es gab irgendwann früher ein Problem mit den "wi" Befehlen, aber das ist eigentlich schon lange behoben. Versuchen kannst du es sonst einmal und den "wi" auf "w" ändern. Alles neu einlesen und dein Script anpassen (die bai00.cfg nicht vergessen).


Hast du diese Information in der hwc Definition schon gelesen?
Zitatr;wi,,StorageTempDesiredStop,Max. Warmwassertemp,,,,"8200",,,temp,,,"Anzeige maximale Warmwassertemperatur, erfolgt nur, wenn die Zusatzheizung für Warmwasser freigeschaltet ist! Ohne Zusatzheizung wird die Warmwasser-Temperatur nur durch die Drucksensor-Regelabschaltung begrenzt (ca. 58 °C Speichertemperatur).",,,

D.h., ohne Freischaltung der Zusatzheizung geht das nicht.

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

Reinhart

@rufus999

es ist genau so wie John es geschrieben hat, da du ja schon "hwctimer.monday" adressierst, kommt hinten "selected" und keine Blockangabe.

Zitat# Datum in den Dummy kopieren
define DateCopy notify TimeMo {\
  fhem "set TimeMo " . ReadingsVal("TimeMo","HHMM1",0) . " " . ReadingsVal("TimeMo","HHMM2",0) . " " . ReadingsVal("TimeMo","HHMM3",0) . " " . ReadingsVal("TimeMo","HHMM4",0) ." 24:00 24:00 24:00 24:00 selected";;\
  fhem "get ZeitfensterSchreibenMo ZeitfensterSchreibenMo";;\
  Log 1, "Zeitprog=" . ReadingsVal("TimeMo","HHMM1",0) . chr(59) . ReadingsVal("TimeMo","HHMM2",0) . chr(59) . ReadingsVal("TimeMo","HHMM3",0) . chr(59) . ReadingsVal("TimeMo","HHMM4",0) . chr(59) ."24:00" . chr(59) . "24:00" . chr(59) . "selected";;\
ich habe das in meinen Beispielen auch so gemacht, dann wird gezielt dieser Timer für den diesen Tag (hier der Montag) gesetzt. Hier ein Beispiel wie ich dann den String für den Befehl zusammensetze, 2 Timer (von - bis) werden hier in einem Befehl geschrieben, der 3 Timer steht fix auf 24:00 - 24:00.  HHMMx sind die Setlistfelder von der Eingabe, dazu habe ich aber schon weit vorne das komplette Beispiel gepostet.

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

rompriest

Zitat von: Reinhart am 09 Juli 2016, 13:40:56
@rompriest

zu Punkt2:
Um ganz sicher zu gehen was hier fehl schlägt, setzte vorerst einmal den Befehl ab und schaue das in Logfile.

sollte so ähnlich anusschauen:
Eigentlich sollte deine Konfiguration funktionieren, du hast sie gut wie aus dem Beispiel der Heizkurve übernommen und perfekt angepasst. Es gab irgendwann früher ein Problem mit den "wi" Befehlen, aber das ist eigentlich schon lange behoben. Versuchen kannst du es sonst einmal und den "wi" auf "w" ändern. Alles neu einlesen und dein Script anpassen (die bai00.cfg nicht vergessen).


Hast du diese Information in der hwc Definition schon gelesen?
D.h., ohne Freischaltung der Zusatzheizung geht das nicht.

LG

es kommt ERR: element not found... Aber eben nur wenn ich es via fhem ausführen möchte. Auf cmdline geht es ohne Probleme

und ja der Punkt "Freischaltung der Zusatzheizung" war mir bewusst, es geht sogar am Gerät nicht wenn man diese Option nicht freischaltet. Die Option ist bei mir natürlich frei und damit geht es ja auch am Gerät und auch über cmdline... ich weiss momentan nicht mehr weiter und versuche jetzt erstmal WW Modus und Heizungsmodus sowie "Einmalige Speicherladung" umzusetzen

Reinhart

Diese Fehlermeldung erscheint normalerweise nur wenn dieser Messwert (Element)  in dem angegebenen csv File nicht gefunden wird, bzw. das csv File vom eBus nicht geladen worden ist. Dann allerdings würde auch der Befehl in der Console nicht funktionieren, und der funktioniert ja bei dir, daher bin ich da auch etwas ratlos, denn deine Syntax ist ja soweit korrekt.

Ich kann das leider nicht 1:1 austesten, weil ich deine Hardware nicht habe.

Bist du dir sicher, das dein ECMD Device unter "emcdEBUS1" definiert ist, oder ist das ein Schreibfehler?

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

rompriest

Zitat von: Reinhart am 16 Juli 2016, 19:13:05
Diese Fehlermeldung erscheint normalerweise nur wenn dieser Messwert (Element)  in dem angegebenen csv File nicht gefunden wird, bzw. das csv File vom eBus nicht geladen worden ist. Dann allerdings würde auch der Befehl in der Console nicht funktionieren, und der funktioniert ja bei dir, daher bin ich da auch etwas ratlos, denn deine Syntax ist ja soweit korrekt.

Ich kann das leider nicht 1:1 austesten, weil ich deine Hardware nicht habe.

Bist du dir sicher, das dein ECMD Device unter "emcdEBUS1" definiert ist, oder ist das ein Schreibfehler?

LG

nach Urlaub komme ich jetzt endlich wieder dazu, mich um den ebus zu kümmern :)

- ich bin aber leider, auch nach ausprobieren aller Möglichkeiten, die mir in den Sinn gekommen sind (Syntax in zig Kombinationen geändert, anderen Schalter gesucht, über GAEBUS probiert etc.) noch kein Stück weiter. Ich habe das Gefühl, dass es am "#install" Part liegt, aber auch hier habe ich alle möglichen Iterationen probiert- ohne Erfolg. Und nach wie vor geht es über hwc#install über Konsole ohne Probleme, aber eben nicht in fhem
Ich habe auch genau den Syntax der auf der Konsole funzt in GAEBUS nachgebaut: gleiches Ergebnis "ERR: element not found"

- mittlerweile erfolgreich war ich dabei die Operation Mode Warmwasser und Heizung nachzubauen, die funktionieren genau wie die Heizkurve

- noch keinen Erfolg hatte ich beim Schalter "Einmalige Speicherladung". Im ebus thread ist ein hexcode für eine Vaillant Wärmepumpe zu finden, aber der funktioniert bei mir nicht lesend (und damit wohl auch nicht schreibend). Hier muss ich wohl oder übel nach herkömmlicher Art "reverse-engineeren"

und ja, ECMD Device heisst wirklich "emcdEBUS1". Vor allem weil ich auch noch eine Solar- und eine Lüftungsanlage von Vaillant habe, die ebenfalls ebus-fähig sind und ich mir die Möglichkeit der Erweiterung offen lassen wollte. Da aber alle anderen Einträge auf dieses Device verknüpfen, dürfte es doch keine Auswirkung haben, oder?

rompriest

so es klappt! ich kann WWmax und WWmin schreiben :)
ich habe in Ermangelung anderer Ideen die entsprechende hwc .csv Datei so editiert, dass ich die beiden Befehle im Circuit hwc (und eben nicht mehr hwc#install) absetzen kann- und siehe da es geht in fhem (und auf Konsole). Wie schon gedacht, lag es am Zusatz #install, wobei ich nicht wirklich verstehe, warum es so nur geht... :)

jetzt bleibt nur noch Baustelle "einmalige Speicherladung". Keines der aus anderen Geräten bekannten hex-Register funktioniert bei mir, auch nicht:

Zitat von: Marie01 am 30 März 2016, 21:30:52
Ok, folgendes klappt:

Einmalige Speicherladung Ein
write -h 08b505020601

Einmalige Speicherladung Aus
write -h 08b505020600

ich forsche an dieser Stelle weiter, bin aber natürlich für alle sachdienlichen hinweise dankbar- wie geschrieben: habe eine Wärmepumpe Vaillant VWS 62/2

rompriest

Zitat von: rompriest am 09 August 2016, 09:00:00
ich forsche an dieser Stelle weiter, bin aber natürlich für alle sachdienlichen hinweise dankbar- wie geschrieben: habe eine Wärmepumpe Vaillant VWS 62/2

wieder einen Schritt weiter, über folgendes bekomme ich zumindest eine "00" Quittierung für "einmalige Speicherladung":

write -h 50b505020601

ob es wirksam ist, konnte ich aber aufgrund zu hoher Speichertemperaturen (Solar) noch nicht prüfen...