NEWS
Viessmann-Adapter
-
Hier mal zum Vergleich die angenommene Änderung der Betriebsart.
Einmal das Setzen:
[506] Sat Oct 29 12:25:10 2016 : Client verbunden 127.0.0.1:54822 (FD:2) [506] Sat Oct 29 12:25:10 2016 : Child Prozess mit pid:1576 gestartet [1576] Sat Oct 29 12:25:10 2016 : Befehl: setVitoBetriebsart Heizen und Warmwasser [1576] Sat Oct 29 12:25:10 2016 : Process 1576 tries to aquire lock [1576] Sat Oct 29 12:25:10 2016 : Process 1576 got lock [1576] Sat Oct 29 12:25:10 2016 : >FRAMER: open device /dev/ttyUSB0 ProtocolID 41 [1576] Sat Oct 29 12:25:10 2016 : konfiguriere serielle Schnittstelle /dev/ttyUSB0 [1576] Sat Oct 29 12:25:10 2016 : >SEND: 04 [1576] Sat Oct 29 12:25:12 2016 : <recv: 29/2016/len="1" 05/(1440.0/ms)/[1576]/sat/oct/12:25:12/:/<recv:/received="">FRAMER: closed [1576] Sat Oct 29 12:25:12 2016 : >SEND: 16 [1576] Sat Oct 29 12:25:12 2016 : >SEND: 00 [1576] Sat Oct 29 12:25:12 2016 : >SEND: 00 [1576] Sat Oct 29 12:25:12 2016 : <recv: 29/2016/len="1" 06/(10.0/ms)/[1576]/sat/oct/12:25:12/:/<recv:/received="">FRAMER: opened [1576] Sat Oct 29 12:25:12 2016 : Heizen und Warmwasser -> 02 [1576] Sat Oct 29 12:25:12 2016 : >SEND: 41 [1576] Sat Oct 29 12:25:12 2016 : >SEND: 06 [1576] Sat Oct 29 12:25:12 2016 : >SEND: 00 [1576] Sat Oct 29 12:25:12 2016 : >SEND: 02 [1576] Sat Oct 29 12:25:12 2016 : >SEND: 23 [1576] Sat Oct 29 12:25:12 2016 : >SEND: 23 [1576] Sat Oct 29 12:25:12 2016 : >SEND: 01 [1576] Sat Oct 29 12:25:12 2016 : >SEND: 02 [1576] Sat Oct 29 12:25:12 2016 : >SEND: 51 [1576] Sat Oct 29 12:25:12 2016 : <recv: 29/2016/len="1" 06/(40.0/ms)/[1576]/sat/oct/12:25:12/:/<recv:/received="">FRAMER: addr was still active FE06 [1576] Sat Oct 29 12:25:12 2016 : >FRAMER: Command send [1576] Sat Oct 29 12:25:12 2016 : >FRAMER: no preset result [1576] Sat Oct 29 12:25:12 2016 : <recv: 23/29/41/2016/len="1" (0.0/ms)/[1576]/sat/oct/12:25:12/:/<recv:/received/05/01/02/(10.0/4f/00/-=""> OK [1576] Sat Oct 29 12:25:12 2016 : OK [1576] Sat Oct 29 12:25:12 2016 : Befehl: quit [1576] Sat Oct 29 12:25:12 2016 : >SEND: 04 [1576] Sat Oct 29 12:25:12 2016 : <recv: 29/2016/len="1" 06/(10.0/ms)/[1576]/sat/oct/12:25:12/:/<recv:/received="">FRAMER: closed [1576] Sat Oct 29 12:25:12 2016 : Process 1576 released lock [1576] Sat Oct 29 12:25:12 2016 : Verbindung beendet (fd:2) [1576] Sat Oct 29 12:25:12 2016 : Child Prozess pid:1576 beendet</recv:></recv:></recv:></recv:></recv:>
Und das nachfolgende Auslesen:
[506] Sat Oct 29 12:25:51 2016 : Client verbunden 127.0.0.1:54860 (FD:2) [506] Sat Oct 29 12:25:51 2016 : Child Prozess mit pid:1579 gestartet [1579] Sat Oct 29 12:25:51 2016 : Befehl: getVitoBetriebsart [1579] Sat Oct 29 12:25:51 2016 : Process 1579 tries to aquire lock [1579] Sat Oct 29 12:25:51 2016 : Process 1579 got lock [1579] Sat Oct 29 12:25:51 2016 : >FRAMER: open device /dev/ttyUSB0 ProtocolID 41 [1579] Sat Oct 29 12:25:51 2016 : konfiguriere serielle Schnittstelle /dev/ttyUSB0 [1579] Sat Oct 29 12:25:51 2016 : >SEND: 04 [1579] Sat Oct 29 12:25:52 2016 : <recv: 29/2016/len="1" 05/(1190.0/ms)/[1579]/sat/oct/12:25:52/:/<recv:/received="">FRAMER: closed [1579] Sat Oct 29 12:25:52 2016 : >SEND: 16 [1579] Sat Oct 29 12:25:52 2016 : >SEND: 00 [1579] Sat Oct 29 12:25:52 2016 : >SEND: 00 [1579] Sat Oct 29 12:25:52 2016 : <recv: 29/2016/len="1" 06/(20.0/ms)/[1579]/sat/oct/12:25:52/:/<recv:/received="">FRAMER: opened [1579] Sat Oct 29 12:25:52 2016 : >SEND: 41 [1579] Sat Oct 29 12:25:52 2016 : >SEND: 05 [1579] Sat Oct 29 12:25:52 2016 : >SEND: 00 [1579] Sat Oct 29 12:25:52 2016 : >SEND: 01 [1579] Sat Oct 29 12:25:52 2016 : >SEND: 23 [1579] Sat Oct 29 12:25:52 2016 : >SEND: 23 [1579] Sat Oct 29 12:25:52 2016 : >SEND: 01 [1579] Sat Oct 29 12:25:52 2016 : >SEND: 4D [1579] Sat Oct 29 12:25:52 2016 : <recv: 29/2016/len="1" 06/(20.0/ms)/[1579]/sat/oct/12:25:52/:/<recv:/received="">FRAMER: addr was still active FE06 [1579] Sat Oct 29 12:25:52 2016 : >FRAMER: Command send [1579] Sat Oct 29 12:25:52 2016 : >FRAMER: no preset result [1579] Sat Oct 29 12:25:52 2016 : <recv: 23/29/41/51/2016/len="1" (0.0/ms)/[1579]/sat/oct/12:25:52/:/<recv:/received/06/(10.0/01/02/-=""> Heizen und Warmwasser [1579] Sat Oct 29 12:25:52 2016 : Heizen und Warmwasser</recv:></recv:></recv:></recv:>
-
Ha,
dank @blauholsten tut sich was in Sachen https://github.com/misanorot/iobroker.viessmann für den ioBroker.
Gruß,
Thorsten
-
Hallo Zusammen
Bekomme in ein Paar wochen auch eine Viessmann Heizung und wollte mich schon mal Informieren hier.
Ich habe bei Github gesehn das es einen Adapter dort für iobroker git ist der mit dem hier geposten skripten gleich zu setzten oder etwas anderes?
https://github.com/misanorot/iobroker.viessmann
Lg
-
Hallo Zusammen
Bekomme in ein Paar wochen auch eine Viessmann Heizung und wollte mich schon mal Informieren hier.
Ich habe bei Github gesehn das es einen Adapter dort für iobroker git ist der mit dem hier geposten skripten gleich zu setzten oder etwas anderes?
https://github.com/misanorot/iobroker.viessmann
Lg `
Hi,macht Quasi nichts anderes…
-
Das ist der Adapter von Sebastian aka @blauholsten/@misanrot, den ich weiter oben bereits verlinkt hatte.
Sebastian hat ihn programmiert, und ich durfte ihn parallel an meinem System on the fly testen. Läuft soweit 1 a und ist recht einfach zu konfigurieren, sofern eine lauffähige vcontrold-Installation samt vito.xml und vcrontrold.xml vorhanden ist.
Es gibt zwar noch ein paar kleinere Baustellen, aber ich denke, Bluefox kann den Adapter in Kürze freigeben.
Man kann ihn aber auch schon jetzt testen. Dazu einfach auf der Admin-Seite von ioBroker auf das Github-Symbol klicken, den Link "https://github.com/misanorot/iobroker.viessmann" in das Textfeld eingeben und bestätigen. Der Adapter wird dann binnen weniger Sekunden installiert. Danach eine Instanz installieren und den Adapter konfigurieren.
Gruß,
Thorsten
-
Hallo Zusammen,
hat das alles was hier geschrieben wurde noch mal jemand (evtl. in einem anderen Threat) als HowTo so zusammengefasst, dass es auch jemand mit wenig Erfahrung Schritt für Schritt umsetzen kann? Wäre sehr klasse. Also ich habe halt den Optolink via WLAN direkt in meinem Netz daheim. Und irgendwie weiß ich jetzt doch nicht was ich machen muss. Wenn ich hier nur falsch bin, verziehe ich mich auch sofort wieder und entschuldige mich. Aber fündig geworden bin ich trotz Suche bisher nicht.
Gruß
Markus
-
Hallo Zusammen,
hat das alles was hier geschrieben wurde noch mal jemand (evtl. in einem anderen Threat) als HowTo so zusammengefasst, dass es auch jemand mit wenig Erfahrung Schritt für Schritt umsetzen kann? Wäre sehr klasse. Also ich habe halt den Optolink via WLAN direkt in meinem Netz daheim. Und irgendwie weiß ich jetzt doch nicht was ich machen muss. Wenn ich hier nur falsch bin, verziehe ich mich auch sofort wieder und entschuldige mich. Aber fündig geworden bin ich trotz Suche bisher nicht.
Gruß
Markus `
Hallo,
Die hier beschriebenen Sachen sind vermutlich eine andere als du sie benutzt. Du benutzt anscheinend das originale von Viessmann vertriebene Modul mit dem man seine Heizungsanlage und die viessmann App steuern kann. Mir ist momentan keine Lösung bekannt, um damit eine Schnittstelle mit iobroker herzustellen.
Die hier beschriebenen Variante ist eine wo man zusätzlich einen Rechner braucht, worauf das Programm vcontrold läuft. Infos findest du hier
-
Wäre schön, wenn Bluefox den Adapter "offiziell" machen würde. Er läuft bei mir seit Wochen absolut zuverlässig. Woran hapert es?
Gruß,
Thorsten
-
Hallo Leute,
ich habe den Adapter vom Github installiert https://github.com/misanorot/iobroker.viessmann
Installation und Einrichtung auch ohne Probleme. Nur bekomme ich im Log folgenden Eintrag:
error instance system.adapter.viessmann.0 terminated with code 8 (node.js: Cannot find module)
Auf der Vcontrold läuft lokal auf dem selben PI. Ist per Telnet erreichbar:
root@raspberrypi:~# service vcontrol status [ ok ] vcontrold is running. root@raspberrypi:~# telnet localhost 3002 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. vctrld>getTempWWist 69.300003 Grad Celsius vctrld>
Einstellung (vito.xml) ging auch ohne Probleme:
ID der Anlage: 2098
Name der Anlage: V200KW2
Verwendetes Protokoll: KW2
Fehlt noch etwas?
-
@Pep:error instance system.adapter.viessmann.0 terminated with code 8 (node.js: Cannot find module) ```` `
Hi,
Ich habe zwar den Adapter geschrieben, aber dies sind meine ersten Gehversuche….
Wie geht die Fehlermeldung weiter? Der Adapter benötigt das NPM Modul net-socket.
Ich dachte aber das installiert sich selbst mit :roll:
Welche node Version benutzt du?
EDIT: In der Version 0.2.4 war auch ein kleiner Fehler drin, also bitte 0.2.5 installieren
-
@Pep:error instance system.adapter.viessmann.0 terminated with code 8 (node.js: Cannot find module) ```` `
Kann es sein, dass in der package.json
"dependencies": { "net-socket": "^1.1.0" },
das net-socket dazwischen funkt? So wie es es sehe wird net-socket gar nicht verwendet und net selber ist ja schon Bestandteil von node.js
-
Kann es sein, dass in der package.json
das net-socket dazwischen funkt? `
Bin zwar absoluter newbee, aber warum sollte der broker meckern wenn man ein Modul lädt, aber nicht benutzt :?
@Sineos:So wie es es sehe wird net-socket gar nicht verwendet und net selber ist ja schon Bestandteil von node.js `
Danke für die Anmerkung! Kann ich dependencies dann komplett aus der package.json löschen?
Oder bloß das Modul austragen?
-
@Pep:error instance system.adapter.viessmann.0 terminated with code 8 (node.js: Cannot find module) ```` `
Hi,
Ich habe zwar den Adapter geschrieben, aber dies sind meine ersten Gehversuche….
Wie geht die Fehlermeldung weiter? Der Adapter benötigt das NPM Modul net-socket.
Ich dachte aber das installiert sich selbst mit :roll:
Welche node Version benutzt du?
EDIT: In der Version 0.2.4 war auch ein kleiner Fehler drin, also bitte 0.2.5 installieren `
Ok danke, mit der 0.2.5 läuft es jetzt, nur wird meine vito.xml nicht mehr Importiert – es kommt immer: Einlesen FEHLGESCHLAGEN!!!JSON Konverter wird natürlich genutzt.
Als Beispiel:
{ "vito": { "devices": { "device": [ { "-ID": "2098", "-name": "V200KW2", "-protocol": "KW2" }, { "-ID": "2053", "-name": "GWG_VBEM", "-protocol": "GWG" } ] }, "commands": { "command": [ { "-name": "getTempA", "-protocmd": "getaddr", "addr": "0800", "len": "2", "unit": "UT", "error": "05 05", "description": "Ermittle die Aussentemeratur in Grad C", "device": { "-ID": "2053", "addr": "6F", "unit": "UT1", "len": "1" } }, { "-name": "getTempWWist", "-protocmd": "getaddr", "addr": "0804", "len": "2", "unit": "UT", "error": "05 05", "description": "Ermittle die Warmwassertemperatur in Grad C", "device": { "-ID": "2053", "addr": "42", "unit": "UT1U", "len": "1" } }, { "-name": "getTempWWsoll", "-protocmd": "getaddr", "addr": "6300", "len": "1", "unit": "ST", "description": "Ermittle die Warmwassersolltemperatur in Grad C", "device": { "-ID": "2053", "addr": "5C", "unit": "UT1", "len": "1" } } ] } } }
Dieser Import führt zu einem Fehler
-
Na, ich bin auch nur nen Hobby-Rum-Script-JS-Bastler :lol:
Nachdem das package m.E. nicht gebraucht wird, das dependencies Element in package.json einfach leer lassen. Wie ich es sehe hat der Adapter keine externen Abhängigkeiten
-
@Pep:JSON Konverter wird natürlich genutzt.
Als Beispiel:
{ "vito": { "devices": { "device": [ { "-ID": "2098", "-name": "V200KW2", "-protocol": "KW2" }, { "-ID": "2053", "-name": "GWG_VBEM", "-protocol": "GWG" } ] }, "commands": { "command": [ { "-name": "getTempA", "-protocmd": "getaddr", "addr": "0800", "len": "2", "unit": "UT", "error": "05 05", "description": "Ermittle die Aussentemeratur in Grad C", "device": { "-ID": "2053", "addr": "6F", "unit": "UT1", "len": "1" } }, { "-name": "getTempWWist", "-protocmd": "getaddr", "addr": "0804", "len": "2", "unit": "UT", "error": "05 05", "description": "Ermittle die Warmwassertemperatur in Grad C", "device": { "-ID": "2053", "addr": "42", "unit": "UT1U", "len": "1" } }, { "-name": "getTempWWsoll", "-protocmd": "getaddr", "addr": "6300", "len": "1", "unit": "ST", "description": "Ermittle die Warmwassersolltemperatur in Grad C", "device": { "-ID": "2053", "addr": "5C", "unit": "UT1", "len": "1" } } ] } } }
Dieser Import führt zu einem Fehler
`
Bitte lösche unter device das nicht verwendete Gerät.
Z.b.
{ "-ID": "2053", "-name": "GWG_VBEM", "-protocol": "GWG" }
-
@Pep:{ "vito": { "devices": { "device": [ { "-ID": "2098", "-name": "V200KW2", "-protocol": "KW2" }, { "-ID": "2053", "-name": "GWG_VBEM", "-protocol": "GWG" } ] }, ```` `
Der Kopf hier sieht für mich komisch aus. Hier sind zwei unterschiedliche Devices eingetragen, sogar mit unterschiedlichen Protokollen. Kann eigentlich fast nicht sein. Funktioniert die xml in vcontrold?
Edit:
Ups, zu langsam :mrgreen:
-
@Pep:JSON Konverter wird natürlich genutzt.
Als Beispiel:
{ "vito": { "devices": { "device": [ { "-ID": "2098", "-name": "V200KW2", "-protocol": "KW2" }, { "-ID": "2053", "-name": "GWG_VBEM", "-protocol": "GWG" } ] }, "commands": { "command": [ { "-name": "getTempA", "-protocmd": "getaddr", "addr": "0800", "len": "2", "unit": "UT", "error": "05 05", "description": "Ermittle die Aussentemeratur in Grad C", "device": { "-ID": "2053", "addr": "6F", "unit": "UT1", "len": "1" } }, { "-name": "getTempWWist", "-protocmd": "getaddr", "addr": "0804", "len": "2", "unit": "UT", "error": "05 05", "description": "Ermittle die Warmwassertemperatur in Grad C", "device": { "-ID": "2053", "addr": "42", "unit": "UT1U", "len": "1" } }, { "-name": "getTempWWsoll", "-protocmd": "getaddr", "addr": "6300", "len": "1", "unit": "ST", "description": "Ermittle die Warmwassersolltemperatur in Grad C", "device": { "-ID": "2053", "addr": "5C", "unit": "UT1", "len": "1" } } ] } } }
Dieser Import führt zu einem Fehler
`
Bitte lösche unter device das nicht verwendete Gerät.
Z.b.
{ "-ID": "2053", "-name": "GWG_VBEM", "-protocol": "GWG" } ```` `
OK Super. damit bin ich jetzt einen Schritt wieder weiter gekommen.
Im Log taucht jetzt folgendes auf:
viessmann.0 2017-02-19 19:11:18.760 warn No states found for {"type":"state","common":{"name":"","desc":"Testabfrage, Adresse eingeben"},"native":{},"_id":"viessmann.0.get."} viessmann.0 2017-02-19 19:11:17.717 warn vctrld> viessmann.0 2017-02-19 19:11:17.717 warn Vctrld send ERROR: vctrld>ERR: command unknown viessmann.0 2017-02-19 19:11:17.613 info starting. Version 0.2.5 in /opt/iobroker/node_modules/iobroker.viessmann, node: v0.10.22 host.raspberrypi 2017-02-19 19:11:15.500 info instance system.adapter.viessmann.0 started with pid 4303 host.raspberrypi 2017-02-19 19:11:13.114 info instance system.adapter.viessmann.0 terminated with code 0 (OK) viessmann.0 2017-02-19 19:11:12.999 info terminating host.raspberrypi 2017-02-19 19:11:12.974 info stopInstance system.adapter.viessmann.0 killing pid 7725 host.raspberrypi 2017-02-19 19:11:12.974 info stopInstance system.adapter.viessmann.0 viessmann.0 2017-02-19 19:11:12.980 info cleaned everything up... host.raspberrypi 2017-02-19 19:11:12.973 info object change system.adapter.viessmann.0
Ein telnet und ein vclient funktionieren aber:
root@raspberrypi:~# telnet 192.168.178.10 3002 Trying 192.168.178.10... Connected to 192.168.178.10. Escape character is '^]'. vctrld>quit good bye! Connection closed by foreign host. root@raspberrypi:~# vclient -h 127.0.0.1:3002 -c getTempWWist getTempWWist: 70.599998 Grad Celsius root@raspberrypi:~#
Was läuft da noch falsch
Ps.: Danke für die Hilfe bis jetzt - echt super von euch.
-
Wie sieht deine Konfiseite (Reiter Abfragewerte) nach dem einlesen der JSON aus? Bitte Screenshoot
-
Wie sieht deine Konfiseite (Reiter Abfragewerte) nach dem einlesen der JSON aus? Bitte Screenshoot `
Und im Log steht es wie folgt
viessmann.0 2017-02-19 19:11:18.760 warn No states found for {"type":"state","common":{"name":"","desc":"Testabfrage, Adresse eingeben"},"native":{},"_id":"viessmann.0.get."} viessmann.0 2017-02-19 19:11:17.717 warn vctrld> viessmann.0 2017-02-19 19:11:17.717 warn Vctrld send ERROR: vctrld>ERR: command unknown viessmann.0 2017-02-19 19:11:17.613 info starting. Version 0.2.5 in /opt/iobroker/node_modules/iobroker.viessmann, node: v0.10.22 viessmann.0 2017-02-19 19:11:12.999 info terminating viessmann.0 2017-02-19 19:11:12.980 info cleaned everything up... viessmann.0 2017-02-19 06:16:17.772 warn No states found for {"type":"state","common":{"name":"","desc":"Testabfrage, Adresse eingeben"},"native":{},"_id":"viessmann.0.get."} viessmann.0 2017-02-19 06:16:17.691 warn No states found for {"type":"state","common":{"name":"","desc":"Testabfrage, Adresse eingeben"},"native":{},"_id":"viessmann.0.get."} viessmann.0 2017-02-19 06:16:17.584 warn No states found for {"type":"state","common":{"name":"","desc":"Testabfrage, Adresse eingeben"},"native":{},"_id":"viessmann.0.get."} viessmann.0 2017-02-19 06:16:17.467 warn No states found for {"type":"state","common":{"name":"","desc":"Testabfrage, Adresse eingeben"},"native":{},"_id":"viessmann.0.get."} viessmann.0 2017-02-19 06:16:16.962 warn Malfunction connection viessmann.0 2017-02-19 06:16:16.961 warn Malfunction connection viessmann.0 2017-02-19 06:16:16.960 warn Malfunction connection viessmann.0 2017-02-19 06:16:16.958 warn Malfunction connection viessmann.0 2017-02-19 06:16:16.957 warn Malfunction connection viessmann.0 2017-02-19 06:16:16.955 warn Malfunction connection viessmann.0 2017-02-19 06:16:16.953 warn Malfunction connection viessmann.0 2017-02-19 06:16:16.951 warn Malfunction connection viessmann.0 2017-02-19 06:15:07.576 warn No states found for {"type":"state","common":{"name":"","desc":"Testabfrage, Adresse eingeben"},"native":{},"_id":"viessmann.0.get."} viessmann.0 2017-02-19 06:15:07.381 warn No states found for {"type":"state","common":{"name":"","desc":"Testabfrage, Adresse eingeben"},"native":{},"_id":"viessmann.0.get."} viessmann.0 2017-02-19 06:15:06.931 warn vctrld> viessmann.0 2017-02-19 06:15:06.931 warn Vctrld send ERROR: ERR: command unknown viessmann.0 2017-02-19 06:15:06.930 warn vctrld> viessmann.0 2017-02-19 06:15:06.930 warn Vctrld send ERROR: ERR: command unknown viessmann.0 2017-02-19 06:15:06.929 warn vctrld> viessmann.0 2017-02-19 06:15:06.929 warn Vctrld send ERROR: ERR: command unknown viessmann.0 2017-02-19 06:15:06.927 warn vctrld> viessmann.0 2017-02-19 06:15:06.927 warn Vctrld send ERROR: ERR: command unknown viessmann.0 2017-02-19 06:15:06.892 warn vctrld> viessmann.0 2017-02-19 06:15:06.892 warn Vctrld send ERROR: vctrld>ERR: command unknown viessmann.0 2017-02-19 06:15:06.891 warn vctrld> viessmann.0 2017-02-19 06:15:06.891 warn Vctrld send ERROR: vctrld>ERR: command unknown viessmann.0 2017-02-19 06:15:06.890 warn vctrld> viessmann.0 2017-02-19 06:15:06.890 warn Vctrld send ERROR: vctrld>ERR: command unknown viessmann.0 2017-02-19 06:15:06.889 warn vctrld> viessmann.0 2017-02-19 06:15:06.889 warn Vctrld send ERROR: vctrld>ERR: command unknown viessmann.0 2017-02-19 06:13:57.092 warn No states found for {"type":"state","common":{"name":"","desc":"Testabfrage, Adresse eingeben"},"native":{},"_id":"viessmann.0.get."}
-
Kannst du bitte noch ein Screenshot von den angelegten Objekten machen? (Im Admin Reiter Objekte)