Seite 2 von 4
Re: Viessmann vcontrold > openvdocker mit mqtt
Verfasst: Mo Mär 18, 2019 10:18 pm
von murelli146
tger977 hat geschrieben: ↑Mo Mär 18, 2019 8:02 pm
Hallo Gernot,
Tolle Arbeit, Danke!
Mir fehlt nun noch der Part wie ich über MQTT die Werte auf den KNX bekomme. Warum gehst du den Umweg über MQTT und nicht gleich auf den KNX per eibd?
Ich bin der Auffassung, dass ich nicht alles bzw. ganz wenig auf dem KNX will oder brauche.
Meine Vorstellung geht eher in die Richtung, dass einzelne Container die Datenpunkte über MQTT zur Verfügung stellen und im TWS (wenn der SW Stand es dann erlaubt) ausgewählte Datenpunkte auf den KNX kommen.
Die meisten Datenpunkte sind meist zur Visualisierung notwendig und gewisse Logiken brauche ich auch nicht auf dem KNX.
Ich denke wenn man die Container mit MQTT ausstattet bleibt man flexibler und schneller.
Fange langsam meine EDOMI LBSen in Container zu verwandeln um die Daten aufbereiteter in EDOMI über MQTT zur Verfügung habe.
Node-Red funktioniert auch bestens mit mqtt.
Einzig die Cometvisu bräuchte auch noch die Möglichkeit Daten über mqtt zu verarbeiten. Oder kann sie schon?
Re: Viessmann vcontrold > openvdocker mit mqtt
Verfasst: Mo Mär 18, 2019 10:25 pm
von gbglace
CV auf Basis TWS soll ja eine Option bekommen direkt mit TWS-Objekten zu arbeiten. Was technisch dabei die Schnittstelle sein wird keine Ahnung. Das werden sicher Chris und Stefan ausklabüsern.
Re: Viessmann vcontrold > openvdocker mit mqtt
Verfasst: Mo Mär 18, 2019 10:31 pm
von murelli146
OK, danke für die Info!
Dann läuft ja alles in die richtigen Bahnen.

Re: Viessmann vcontrold > openvdocker mit mqtt
Verfasst: Mi Mär 20, 2019 10:41 pm
von murelli146
tger977 hat geschrieben: ↑Mo Mär 18, 2019 8:02 pm
Mir fehlt nun noch der Part wie ich über MQTT die Werte auf den KNX bekomme.
Als Beispiel Edomi:
LBS 19001054 MQTT Subscribe Client v0.2.4
Payload = Wert von WWist
oder gleich die Werte direkt auf ein iKO von Edomi schreiben.
LBS 19001052 MQTT Subscribe Server v0.5
Template im openvdocker anpassen (/etc/vcontrold/2_mqtt.tmpl)
Code: Alles auswählen
#!/bin/sh
mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t $MQTTTOPIC/$C2 -m $2
mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t $MQTTTOPIC/$C3 -m $3
mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t $MQTTTOPIC/$C4 -m $4
mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t $MQTTTOPIC/$C5 -m $5
mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t $MQTTTOPIC/$C6 -m $6
mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t $MQTTTOPIC/$C7 -m $7
mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t $MQTTTOPIC/$C8 -m $8
mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t $MQTTTOPIC/$C9 -m $9
mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t $MQTTTOPIC/$C10 -m $10
mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t $MQTTTOPIC/$C12 -m $R12
# Beispiel: Edomi LBS MQTT Subscribe Server v0.5 19001052
# Direkt auf iKO's schreiben
mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t edomi/set/internal/1730 -m $2
mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t edomi/set/internal/1731 -m $3
mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t edomi/set/internal/1732 -m $4
mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t edomi/set/internal/1733 -m $5
mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t edomi/set/internal/1734 -m $6
mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t edomi/set/internal/1735 -m $7
mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t edomi/set/internal/1736 -m $8
mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t edomi/set/internal/1737 -m $9
mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t edomi/set/internal/1738 -m $10
mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t edomi/set/internal/1739 -m $R12
Die Befehle setzen die Werte vom iKO 1730 bis 1739 in Edomi lt. der Zeilennummer im 1_mqtt_commands.txt
Dort können die Werte im Logikeditor weiter verarbeitet werden und dann auf den KNX gesendet werden.
Später funktioniert das gleich im TWS
Re: Viessmann vcontrold > openvdocker mit mqtt
Verfasst: Sa Aug 24, 2019 2:28 pm
von tger977
Hallo Gernot,
@murelli146
der vcontrold aus deinem Container läuft nun seit einiger Zeit stabil (bisher mit MQTT = false).
Bisher hatte ich jedoch noch keine Zeit den vclient, der aktuell noch auf dem wiregate läuft, auch noch umzuziehen. Heute habe ich mal Deine MQTT Schnittstelle in Betrieb nehmen wollen, dazu habe ich
- MQTT Broker mittels diesem Dockerimage aufgesetzt: amd64/eclipse-mosquitto (könnte man ggf. als Hint auch in die KB aufnehmen, das war durchaus erstmal eine Herausforderung den zu konfigurieren und bei all den Einstelloptionen bin ich mir auch noch nicht sicher ob das dann später wirklich passt...)
- MQTT in den ENV Variablen Deines Containers auf TRUE gesetzt + IP und port des MQTT Brokers gesetzt
- den vclient im wiregate abgeschaltet, damit es zu keinen Aufrufkonflikten kommt
- die 1_MQTTcommands.txt und auch die 2_MQTT.tmpl angepasst auf meine Befehle
- den Container von Dir komplett neu deployed
Dann kommt es jedoch immer zu folgendem log Verhalten:
Code: Alles auswählen
2019-08-24T12:08:25.358219843Z sh: 1: /etc/vcontrold/3_mqtt_pub.sh: not found
2019-08-24T12:05:26.447643133Z [6] Sat Aug 24 12:05:26 2019 : started vcontrold version 0.98.7-10-gf28d437
2019-08-24T12:05:27.016037138Z vcontrold gestartet (PID 7)
2019-08-24T12:05:27.016157643Z MQTT: aktiv (var = true)
2019-08-24T12:05:27.016186921Z Aktualisierungsintervall: 120 sec
2019-08-24T12:11:23.160270254Z sh: 1: /etc/vcontrold/3_mqtt_pub.sh: not found
2019-08-24T12:14:20.987894623Z sh: 1: /etc/vcontrold/3_mqtt_pub.sh: not found
Im SSH Container für das volume das ja auf /etc/vcontrold gemountet ist sehe ich daß 3_mqtt_pub.sh korrekt (Auch mit korrekt abgefragten Inhalten durch den vclient!) generiert wird... Nur das ausführen des erzeugten Skriptes geht halt nicht und damit kommt nichts im MQTT Broker an...
Was mich etwas stutzig macht sind die unterschiedlichen Rechte der beiden shell Skripte... Passt das?
wenn ich in der Console Deines Containers direkt folgenden Befehl absetze schein es zu funktionieren und es kommen auch Verbindungseinträge im MQTT Broker!
Hast Du eine Idee was da schief laufen könnte oder was ich noch ansehen könnte? Danke!

Re: Viessmann vcontrold > openvdocker mit mqtt
Verfasst: Sa Aug 24, 2019 3:02 pm
von tger977
und dann noch eine Frage: kann ich mit Deinem Container auch Sollwerte zur Gastherme schreiben?
Bisher habe ich das über vclient im wiregate unter /usr/local/bin/vclient mit entsprechender wiregate Logik im Logikprozessor gemacht... Der Aufruf des vclient Befehls funktioniert aber im wiregate Container von ElabNet nicht mehr da ich dort keinen vclient in dieses Verzeichnis installieren kann da man keinen Zugriff auf den Container im Detail hat... Dazu schreibe ich aber im wiregate Plugin Thread noch gleich.
Re: Viessmann vcontrold > openvdocker mit mqtt
Verfasst: So Aug 25, 2019 11:39 am
von StefanW
Hinweis zum Thema MQTT
(Es ist nicht fest versprochen) aber unsere Gedanken gehen derzeit dahin, dass der TWS dann auch einen lokalen MQTT Broker haben wird, der vorinstalliert und vorkonfiguriert ist und dafür dann eine eigene einfache Oberfläche hat. Es sollte möglichst out-of-the-box schon funktionieren.
Weiterhin ist daran gedacht (nicht fest versprochen) dass ab entsprechendem Care Level auch eine Broker-Instanz in der Timberwolf Cloud zur Verfügung steht, über welche man dann eine Weltenkopplung vornehmen könnte. Wir werden sehen.
lg
Stefan
Re: Viessmann vcontrold > openvdocker mit mqtt
Verfasst: So Aug 25, 2019 2:08 pm
von murelli146
Hallo
@tger977
habe den Container genauso mit diesen rechten am laufen.
Hat die 3_mqtt_pub.sh (auch run.sh usw.) die UTF-8 Kodierung und Unix (LF)?
Befehle schreiben funktioniert noch nicht!
Das MQTT Thema habe ich derzeit auf Eis gelegt.
Ich wollte noch warten bis ich bei anderen Containern spicken kann wie man KOs am saubersten in die TW Objektverwaltung bekommt.
Hier wäre ein mqtt Deamon gut den man in jedem Container verwenden kann bzw. ein Gerüst an das man sich halten kann.
Etwas einheitliches damit nicht jeder etwas eigenes erfindet.
Ich verwende derzeit den Container mit dem
LBS von EDOMI
Re: Viessmann vcontrold > openvdocker mit mqtt
Verfasst: So Aug 25, 2019 7:59 pm
von tger977
Hallo Gernot
@murelli146
ich verzweifel so langsam. Hab nun mehrfach den Container neu deployed, gestartet,... Es geht immer noch nicht.
Ich weiss auch nicht was ich noch ändern soll, die 3_mqtt_pub.sh wird ja vom vclient direkt mit jedem Aufruf neu erzeugt, da kann ich ja gar nichts dran ändern (weder an Zugriffsrechten noch an dem Dateiformat). UTF8 passt auch wenn ich mir die generierte Datei ansehe. Auch der Inhalt ist absolut korrekt, es funktioniert also eigentlich alles bis auf den letzten Schritt des ausführens der 3_mqtt_pub.sh

Re: Viessmann vcontrold > openvdocker mit mqtt
Verfasst: So Aug 25, 2019 8:26 pm
von tger977
ich werd wahnsinnig, es scheint an der Anzahl der Commands zu liegen!
Ich habe nun mal nur einen einzigen Command eingetragen und nun findet er die Datei und führt Sie auch aus!
Zumindest mal ein Ansatzpunkt jetzt...