NEWS
Test Adapter MyVBus v0.4.x Latest
-
@gargano said in Test Adapter MyVBus v0.0.x GitHub:
Wo werden denn die IP und das VBus Passwort gespeichert ?
Die werden im Config-Objekt des Adapters gespeichert. Da müsstest du also über getForeignObject dran kommen.
Wenn Du mich persönlich nach meiner Meinung fragst, finde ich die Lösung nicht gerade glücklich. Verstehe mich bitte dabei nicht falsch - ich finde es super das du dich um das Schreiben in den Controller kümmerst und das wir eine erste (schnelle) Lösung haben, aber ich würde dem Adapter nur sehr ungern ein solches Script zum schreiben zur Seite stellen. Das ist arg quick-and-dirty.
Die erste Frage, die ich mir stelle ist: @Alle: Reicht es aus, wenn wir die Pumpen ansteuern können (in % Schritten)? Oder müssen noch andere Werte geschrieben werden können? Wenn die Pumpen reichen - würde ich das auch gerne über die entsprechenden Datenpunkte des Adapter regeln. Sprich: Wenn dort der Wert der Pumpe-1 von Hand von 0 auf 50 gesetzt wird, soll sie mit halber Drehzahl laufen (wenn unterstützt) - wenn nicht unterstützt geht eben nur 0 und 100 - das muss jeder für sich selbst und seine verwendete Pumpe herausfinden und verwenden. Ein bisschen Doku dazu und das sollte laufen.Ein Script müsste dann jeder nur noch in soweit (und im üblichen Maße) daneben stellen als das es zum Beispiel die Uhrzeit und die Temperatur eines Kreises überwacht und dann dem Adatper sagt: Schmeiß mal Pumpe-1 auf 100% an.
Will sagen: Alles Resol-controller spezifische sollten wir versuchen an einer einzigen Stelle zu kapseln (im Adapter) - sonst haben wir Verbindungshandling und einiges andere doppelt. Ich bin mir auch gerade nicht sicher, ob die Controller mit zwei paralleleln, konkurierenden Verbindungen klar kommen, oder ob die zweite dann immer auf die Schnauze fällt. Ich habe da dunkel etwas im Hinterkopf.Als Proof-of-Concept und schnelle Not-Lösung finde ich deine Arbeit aber super und sage: Vielen herzlichen Dank dafür!
Würdest du dir zutrauen, das auch direkt im Adapter zu implementieren? Ich würde dann da etwas vorbereiten, wo du ansetzen könntest.Wenn ich den Code richtig lese, liegt die Magie im Optimizer und ab Zeile 126 - richtig?
viele Grüße
grizzelbee -
@grizzelbee Der Ansatz war ja zu schauen, ob es überhaupt mit dem Schreiben klappt. Da ist ein Script gerade richtig auch oder gerade deshalb wenn es quick and dirty ist.
Im zweiten Schritt sollte das in den myvbus Adapter integriert werden. Einen Vorschlag wie sowas aussehen könnte habe ich ja gemacht.Bei mir war die Schwierigkeit, daß mein Resol-CS2 nicht in der Schreib-Prozedur integriert war, so daß ich ihn erst integrieren mußte.
Ich habe noch keinen Adapter gebaut, aber versuchen kann ich es ja. (Mit Deiner Hilfe)
Der erste Ansatz vom myvbus-Adapter wäre also das integrieren von den entsprechenden Funktionen in meinem Script. Auslöser zum Senden kann ein (boolean)-DP sein, der dann den JSON-DP ausliest und sendet.Bei mir sind es zwei Werte die ich im Resol setzen muß, deshalb ist der JSON Ansatz universell.
Dabei geht es bei mir und wohl auch bei anderen (Blackhawk3000) um spezielle Einstellungen wie Rückkühlung.
Ich will die Rückkühlung nur aktivieren, wenn der Puffer schon eine hohe Temperatur hat und die Vorhersage für den nächsten Tag viel Sonne ist, um Stagnation zu vermeiden.Danach kann man auch die UI anpassen.
Das Resol Device verträgt nur eine Connection, erst recht die VBus-Lib. Deshalb das Deaktivieren vom myvbus-Adapter in meinem Script.
-
@grizzelbee said in Test Adapter MyVBus v0.0.x GitHub:
Ich würde dann da etwas vorbereiten, wo du ansetzen könntest.
Wann kommst Du dazu, etwas vorzubereiten ?
Ich denke die JSON Methode ist universell. Dazu benötige ich 2 Datenpunkte, die beim Installieren angelegt werden : JSON (String) und send (booelan)
Im Adapter ein Trigger der auf send reagiert.
Das Implementieren vom Senden mach ich dann.
Wie machen wir das mit der Synchronisieren vom Polling und Senden , oder ist das durch die Struktur vom Adapter schon gegeben ? -
Hallo,
ich habe den Resol KM2. Ich hatte vorher ein eigenes Script auf meinem Raspberry Pi laufen, was mir die Werte in eine Datenbank geschrieben hat. Das basierte auch auf den Entwicklungen von Daniel Wippermann. Jetzt ist mir leider die Karte gestorben und ich hab nun ioBroker auf meinem Proxmox in einem Container laufen und hab dazu den Adapter von hier verwendet. Mein Problem ist, der Adapter bekommt immer nur eine kurze Zeit Daten. Die Aktualisierung hab ich auf 600 stehen (hatte ich bei meinem Skript damals auch). Das läuft dann manchmal über 1-2 Stunden. Manchmal aber auch nur einmalig. Danach werden keine Daten mehr aktualisiert. Das steht dann für mehrere Stunden, bekommt dann wieder mal Daten.
Starte ich den Resol KM2 neu, entferne das Netzwerkkabel oder starte ioBroker neu, geht es wieder für eine gewisse Zeit. Ein neustart des Adapters funktioniert nicht immer.
Ist das Problem bekannt, oder bin ich damit alleine?Viele Grüße
Basti -
Hallo @basti-0
Hmmm. Ich bin mir noch nicht komplett sicher, ob ich das Problem bis ins Detail verstanden habe. Ich frage mich aber garde was gegen einen kürzeren Intervall spricht. Bei mir funktionieren 30 Sekunden perfekt und ich habe auch noch von keinen Problemen diesbezüglich gehört. Das sollte also eigentlich auch mit anderen Intervallen funktionieren.
Was du aber auf jeden Fall als nächstes machen solltest: Bring den Adapter auf dem Instanzen-Tab (im Expertenmodus) in den LogLevel Debug und lass ihn laufen. Mit etwas Glück bekommen wir dann etwas bessere Hinweise was passiert. Bei der Analyse des Log kann ich gerne helfen. Poste es dann einfach hier.viele grüße
grizzelbee -
hallo @grizzelbee
Habs vielleicht etwas schwierig beschrieben. Hier mal ein Beispiel wie die Aufzeichnung aussieht wenn es nicht mehr geht gegenüber dem wenn es mal wieder gut läuft.
Links der Teil wenn er sich Daten abholt und dann "aufhängt". Hab da immer den KM2 neugestartet.
Die Logfiles zieh ich raus sobald das Problem wieder auftaucht. Vorführeffekt - es läuft mal wieder. -
@basti-0
Soweit hatte ich das schon verstanden. Warum es unbedingt ein 5 Minuten Intervall sein soll verstehe ich nicht so richtig. Das sollte allen Komponenten eigentlich egal sein. Aber eben auch wenn es wirklich 5 Minuten sind.
Wir werden sehen was das Log so zeigt.
Ich habe übrigens selber einen KM2, der über eine DeltaSol CS Plus wacht. Das läuft super stabil - es sei denn das die WLAN Verbindung doof spielt. -
@grizzelbee
Ich bin einen Schritt weiter und weiß, dass es nicht an dem Adapter liegt. Entweder liegt es generell an meinem System oder an irgendeiner Hardware. Wir hatten einen längeren Stromausfall und seitdem läuft der vbus Adapter Störungsfrei. Seitdem habe ich allerdings keinen Zugriff mehr auf meine Heizung. Entweder hat der Netzwerkstrang zum Keller irgendwas, oder der Switch an dem alles dran hängt. Ich hab übrigens die Abfrage auf 60 Sekunden reduziert. Das aber nur am Rande.
Danke für deinen Support! -
@pdbjjens
Ohh Mann, sorry vielmals dass ich hier nicht geantwortet habe. Ist bei mir völlig unter gegangen, und da der Adapter bei mir so stabil läuft ... hab ich Deine Fragen total vergessen. Sorry.
Brauchst Du meine Angaben überhaupt noch oder hat sich das unterdessen erledigt?
Sorry und viele Grüsse, Roli -
@foxro
No Problem
Freut mich zu hören, dass der Adapter bei Dir stabil läuft. Trotzdem bin ich natürlich daran interessiert etwas über die Einsatzumgebung zu erfahren. Wenn es Dir nicht zu viel Mühe macht, würde ich gerne die damals nachgefragten Angaben und Logs/Screenshots haben.
Bei der Gelegenheit könntest Du vorher die gerade freigegebene Version 0.1.0 von NPM installieren (vorher den bisherigen Adapter komplett deinstallieren wenn er von GitHub installiert wurde).
Die NPM-Version enthält ein paar wichtige Bug und Security Fixes - daher ist es auf jeden Fall sinnvoll darauf upzudaten. -
@blackhawk3000
Inzwischen gibt es den Resol Adapter , der auch Schreiben kann.
Ich habe den Adapter vom @Grizzelbee erweitert und damit kann man auch auf das Resol Device schreiben. Ich verwende das, um die Rückkühlung einzuschalten.
@Grizzelbee ist noch dran das zu mergen und dann offiziell als iobroker Adapter einzubinden.
Wer schonmal probieren will, kann dies von meinem Github machen. -
@pdbjjens said in Test Adapter MyVBus v0.1.x Latest:
@FoxRo said in Test Adapter MyVBus v0.0.x GitHub:
Das vorgegebene Standardpasswort "vbus" scheint aber irgendwie nicht korrekt zu sein.
Zunächst mal danke für das Feedback. Damit wir klären können, was da passiert ist, bräuchte ich die Info, welche myvbus Version Du installiert hast (0.1.0 über GitHub oder 0.0.6 über iobroker latest?).
Habe mir soeben die Version 0.1.0 von GitHub installiert. Update via NPM war zwar fehlerlos, hat aber nicht korrekt geupdatet. Ab GitHub das Update ging problemlos. Läuft soweit gut. Habe viele der Objekte in der Vis verwendet, deshalb wollte ich den Adapter nicht komplett löschen, da ich sonst wieder alles neu in der Visu hätte einpflegen müssen. Vorher hatte ich seit Juni 2020 die 0.0.6, damals direkt via NPM installiert.
Es wäre außerdem schön, wenn Du noch die paar Fragen (siehe Post #1, oben) zu Deiner Resol-Vbus-Hardwarekonfiguration (also Resol Reglertyp, Verbindungsgerät (VBus/LAN, KM2, DL3 etc.) beantworten und/oder einen screenshot des Objektbaums senden würdest sowie uns die Erlaubnis erteilen würdest, diese Info anonym z.B. in den Release-Notes des myvbus Adapters zu verwenden.
- direkte LAN Verbindung über TCP/IP
- Plattform: Hardware: Rockpro64, 6Core CPU, 4GB RAM,
- Betriebssystem: Linux - IoBroker in Doker Container
- VBus Gerät: DeltaSol SLT mit direktem LAN Anschluss und fixer IP Adresse
- Geräteadressen: 001001 (Aktuelle Temp Werte) und 001011 (Energie Daten)
Hoffe, dies hilft dir weiter...
-
@foxro
O.K. Vielen Dank für die Beantwortung meiner Fragen. Ein DS SLT mit direkter LAN-Anbindung hatten wir noch nicht. Verhält sich wohl wie ein VBus/LAN nehme ich an.
Falls Du irgendwelche Fragen oder Probleme mit der neuen Adapter Version hast - bitte gleich hier melden. -
Hallo ich habe ein Problem mit dem Adapter nach einem Neustart des Systems bekomme ich den nicht mehr auf grün, ich habe folgendes Problem :
host.iobroker 2021-04-20 20:18:18.048 info Restart adapter system.adapter.myvbus.0 because enabled host.iobroker 2021-04-20 20:18:18.047 error instance system.adapter.myvbus.0 terminated with code 1 (JS_CONTROLLER_STOPPED) host.iobroker 2021-04-20 20:18:18.047 error Caught by controller[0]: } host.iobroker 2021-04-20 20:18:18.047 error Caught by controller[0]: ] host.iobroker 2021-04-20 20:18:18.046 error Caught by controller[0]: '/opt/iobroker/node_modules/iobroker.myvbus/main.js' host.iobroker 2021-04-20 20:18:18.046 error Caught by controller[0]: '/opt/iobroker/node_modules/resol-vbus/index.js', host.iobroker 2021-04-20 20:18:18.046 error Caught by controller[0]: requireStack: [ host.iobroker 2021-04-20 20:18:18.046 error Caught by controller[0]: code: 'MODULE_NOT_FOUND', host.iobroker 2021-04-20 20:18:18.045 error Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:887:19) { host.iobroker 2021-04-20 20:18:18.045 error Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:708:14) host.iobroker 2021-04-20 20:18:18.045 error Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:863:32) host.iobroker 2021-04-20 20:18:18.045 error Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) host.iobroker 2021-04-20 20:18:18.045 error Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:999:30) host.iobroker 2021-04-20 20:18:18.044 error Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/resol-vbus/index.js:23:12) host.iobroker 2021-04-20 20:18:18.044 error Caught by controller[0]: at require (internal/modules/cjs/helpers.js:74:18) host.iobroker 2021-04-20 20:18:18.044 error Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:887:19) host.iobroker 2021-04-20 20:18:18.044 error Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:667:27) host.iobroker 2021-04-20 20:18:18.044 error Caught by controller[0]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15) host.iobroker 2021-04-20 20:18:18.043 error Caught by controller[0]: - /opt/iobroker/node_modules/iobroker.myvbus/main.js host.iobroker 2021-04-20 20:18:18.043 error Caught by controller[0]: - /opt/iobroker/node_modules/resol-vbus/index.js host.iobroker 2021-04-20 20:18:18.043 error Caught by controller[0]: Require stack: host.iobroker 2021-04-20 20:18:18.042 error Caught by controller[0]: Error: Cannot find module './dist/index.js' host.iobroker 2021-04-20 20:18:18.041 error Caught by controller[0]: ^ host.iobroker 2021-04-20 20:18:18.040 error Caught by controller[0]: throw err; host.iobroker 2021-04-20 20:18:18.039 error Caught by controller[0]: internal/modules/cjs/loader.js:818 host.iobroker 2021-04-20 20:18:17.401 info instance system.adapter.myvbus.0 started with pid 21713 host.iobroker 2021-04-20 20:18:17.272 info "system.adapter.myvbus.0" enabled
Kann mir da jemand was zu sagen ?
-
@pdbjjens
weiss nicht wie sich die anderen Geräte verhalten. Aber meiner verhält sich halt nun so, wie ich es schon ursprünglich erwartet hätte.
Original kann das Ding übers LAN leider gar nichts ausser, dass man via LAN die IP Adresse setzen kann Ansonsten kann der eingebaute Webserver genau gar nichts.
Dank eurem Adapter bekomme ich nun alle benötigten Daten in die Haussteuerung - bis anhin absolut zuverlässig - tolle Sache.
Danke vielmal für den tollen Adapter!! -
@sven710
Bitte etwas genauere Information zur Umgebung (Versionen von myvbus, js-controller, node.js etc. iobroker auf Linux, Windows?) sowie was vorher passiert ist (etwas neu installiert oder updates?) -
Hallo es läuft auf einem Linux System als VM auf Proxmox. Alles was ich gemacht habe sind die Linuxupdates. Dann hat es auch einige Tage weiter gelaufen, als ich dann man einen Neustart gemacht hab ist der Adapter nicht mehr gelaufen.
/usr/bin/nodejs v12.22.1 /usr/bin/node v12.22.1 /usr/bin/npm 6.14.12 nodejs: Installed: 12.22.1-1nodesource1 Candidate: 12.22.1-1nodesource1 Version table: *** 12.22.1-1nodesource1 500 500 https://deb.nodesource.com/node_12.x bionic/main amd64 Packages 100 /var/lib/dpkg/status 8.10.0~dfsg-2ubuntu0.4 500 500 http://de.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages 8.10.0~dfsg-2ubuntu0.2 500 500 http://de.archive.ubuntu.com/ubuntu bionic-security/universe amd64 Packages 8.10.0~dfsg-2 500 500 http://de.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages```
-
@sven710
Ansonsten laufen alle anderen Adapter korrekt? Wenn ja, ist möglicherweise irgendwas beim Linux update/ upgrade (insbesondere beim nodejs-upgrade) schief gegangen mit Rückwirkung auf den myvbus Adapter.
Es sieht so aus als ob die resol-vbus lib die myvbus benutzt, defekt ist.
Um das zu reparieren, würde ich zunächst mal den myvbus Adapter komplett deinstallieren und wieder neu Installieren. Entweder über den iobroker Adapter Tab (Mülltonne, gefolgt von +) oder per cli z.B. mitiobroker del myvbus iobroker add myvbus
Wenn das nicht hilft, könnte man versuchen nur die resol-vbus lib neu zu installieren, z.B.
cd /opt/iobroker npm i resol-vbus
Wenn das auch nicht hilft, fällt mir nur noch ein, den iobroker zu fixen:
iobroker stop iobroker fix iobroker restart
Diese Tipps bitte nur auf eigene Gefahr anwenden, da ich sie nicht ausprobiert habe und dein System nicht kenne. Und natürlich die üblichen Sicherheitsvorkehrungen (Backup/Sicherung) beachten.
-
Hat leider alles nicht geklappt. ich habe die VM heute neu aufgesetzt und jetzt läuft es wieder Danke für die Mühe. Ich denke des es Linux seitig irgendwie was nicht in Ordnung war.
-
Moin,
Ich wollte ich mich auch mal wieder melden.
Habe gerade gesehen, dass die npm resol-vbus aktualisiert wurde
http://danielwippermann.github.io/resol-vbus/#/Mein aktueller Stand:
IoBroker ist auf nen Docker umgezogen.
Dazu habe ich den RPi am Regler neu aufgesetzt und die UART Schnittstelle mit ser2net im Netzwerk verfügbar gemacht.
Leider ist eine direkte Verbindung, egal mit welchen der beiden Adapter, nicht möglich.
Ich verbinde mich also erst mit NodeRed auf den RPi und schiebe die daten dann direkt
auf eine Virtuelle Serielle Schnittstelle.
Der Adapter ist dann einfach wieder auf Serial gestellt.
So funktioniert die Verbindung wunderbar (seit Anfang 2021), egal mit welchen der beiden Adapter.