ich stehe aktuell vor einer Wand und komme nicht daran vorbei, deshalb erbitte ich eure Hilfe.
Wir haben vor einiger Zeit eine Vaillant TurboTec Therme gegen eine EcoTec Plus getauscht. Die alte Therme hatte ich erfolgreich per CCU3 automatisch mit einem HmIP-WHS2 gesteuert, was ich aber bei einer Brennwerttherme so nicht mehr machen wollte.
Also erfolgte die Umstellung auf ebusd, dieser sitzt auf einem Raspi 3B und hängt zusammen mit einem Vaillant VRT380 (kein Wochenprogramm eingerichtet, Modus manuell) am ebus der Therme.
MQTT ist konfiguriert, der Broker läuft auf meinem im Aufbau befindlichen HomeAssistant (läuft als VM auf einem Proxmox Server) und über den Raspi kann ich auch erfolgreich manuell per Konsole mosquitto_pub Kommandos absetzen, die von der Therme auch empfangen und umgesetzt werden.
Das sehe ich auch in einem MQTT Explorer, den ich auf meinem PC mitlaufen lasse.
Auf der CCU3 habe ich CUx-D, CCU-Jack und Redmatic als Add-Ons installiert, da ich mir über den finalen Weg noch nicht im Klaren war.
Die CCU-Jack Konfig:
Code: Alles auswählen
{
"CCU": {
"Address": "127.0.0.1",
"Interfaces": [
"BidCosRF",
"HmIPRF",
"VirtualDevices",
"CUxD"
],
"InitID": "CCU-Jack"
},
"Host": {
"Name": "CCU3-webui",
"Address": "127.0.0.1"
},
"Logging": {
"Level": "TRACE",
"FilePath": "/var/log/ccu-jack.log"
},
"HTTP": {
"Port": 2121,
"PortTLS": 2122,
"CORSOrigins": [
"*"
],
"WebUIDir": "webui"
},
"MQTT": {
"Port": 1883,
"PortTLS": 8883,
"BufferSize": 0,
"WebSocketPath": "/ws-mqtt",
"Bridge": {
"Enable": true,
"Address": "192.168.178.203",
"Port": 1883,
"BufferSize": 0,
"UseTLS": false,
"CACertFile": "",
"Insecure": false,
"Username": "ebusd",
"Password": "ebusd",
"ClientID": "ccu-jack",
"CleanSession": false,
"Incoming": [
{
"Pattern": "+/set/#",
"LocalPrefix": "",
"RemotePrefix": "ccu-jack/",
"QoS": 0
},
{
"Pattern": "+/get/#",
"LocalPrefix": "",
"RemotePrefix": "ccu-jack/",
"QoS": 0
}
],
"Outgoing": [
{
"Pattern": "+/status/#",
"LocalPrefix": "",
"RemotePrefix": "ccu-jack/",
"QoS": 0
}
],
"WillTopic": "",
"WillPayloadConnected": "",
"WillPayloadDisconnected": "",
"WillQoS": 0,
"WillRetain": false
}
},
"BINRPC": {
"Port": 2123
},
"Certificates": {
"AutoGenerate": false,
"CACertFile": "",
"CAKeyFile": "",
"ServerCertFile": "/etc/config/server.pem",
"ServerKeyFile": "/etc/config/server.pem"
},
"Users": {},
"VirtualDevices": {
"Enable": true,
"NextSerialNo": 2,
"Devices": {
"JACK000001": {
"Address": "JACK000001",
"HMType": "HM-LC-Sw1PBU-FM",
"Channels": [
{
"Kind": "MQTT_KEY_SENDER",
"MasterParamset": {}
}
]
}
}
}
}
In Redmatic habe ich erfolgreich eine Verbindung zum HomeAssistant angelegt: Ich habe nach einiger Recherche Skripte gebaut, mit deren Hilfe ich die neue Therme steuern wollte, aber das klappt nicht.
Das soll passieren: sobald eines der Heizkörperventile (HMIP-eTRV-2) weiter als 10% öffnet, schaltet die Therme auf Heizbetrieb, gehen die Ventile unter 10%, wird entsprechend abgeschaltet.
Das Programm dafür: Für den Skript-Teil habe ich zwei unterschiedliche Varianten, abhängig vom Ansatz.
Mit CCU-Jack:
Code: Alles auswählen
system.Exec("/usr/local/addons/ccu-jack/ccu-jack-cli mqtt publish ebusd/ctlv3/Z1ActualRoomTempDesired/set 24.5");
system.Exec("/usr/local/addons/ccu-jack/ccu-jack-cli mqtt publish ebusd/ctlv3/Z1DayTemp/set 24.5");Code: Alles auswählen
string mosquittoIP = "192.168.178.203"; ! Mosquitto-Broker
string cuxDevice = "CUxD.CUX2801002:1"; ! CUxD-Exec-Gerät
! MQTT-Topic zum SCHREIBEN (da VRT 380 als Master agiert, überschreibt er Z1ActualRoomTempDesired dauernd mit der DayTemp)
string mqttTopic1Set = "ebusd/ctlv3/Z1DayTemp/set";
string mqttTopic2Set = "ebusd/ctlv3/Z1ActualRoomTempDesired/set";
string cmd1 = "";
string cmd2 = "";
! Mindestens ein Raum braucht Wärme -> Soll-Temperatur hochsetzen
cmd1 = "mosquitto_pub -h " # mosquittoIP # " -u ebusd -P ebusd -t " # mqttTopic1Set # " -m '24.5'";
cmd2 = "mosquitto_pub -h " # mosquittoIP # " -u ebusd -P ebusd -t " # mqttTopic2Set # " -m '24.5'";
! Befehl absenden
if (cmd1 != "") {
dom.GetObject(cuxDevice # ".CMD_SHORT").State(cmd1);
dom.GetObject(cuxDevice # ".CMD_EXEC").State(cmd2);
}
Jetzt suche ich schon seit einigen Tagen nach der Ursache, finde diese aber leider nicht. Deshalb brauche ich eure Hilfe!
Habt ihr Tipps für mich?
Viele Grüße,
Stephan