DutchmanNL / ioBroker.Resol-VBUS

Script to extract data from Resol system by VBUS data transmittion
2 stars 1 forks source link

Error in callback: TypeError: conn.connect(...).done is not a function #4

Open mameier1234 opened 5 years ago

mameier1234 commented 5 years ago

Hallo,

Script läuft nicht mehr, nach Update auf Scriptengine 4.1.14 ...

Fehler:

ror Error in callback: TypeError: conn.connect(...).done is not a function

Nach Downgrade auf 4.1.13 geht es immer noch nicht..

DutchmanNL commented 5 years ago

es sieht so aus alsob das resol-vbus ppm Modul fehlt, mal bitte nochmal nachinstallieren

mameier1234 commented 5 years ago

Das sieht wohl nur so aus... Ich habe auf der Commandline wie beschrieben das resol-vbus ppm installiert, als auch das Modul in der Javascript Instanz drin.. Ich habe sogar extra eine neue Instanz eingerichtet, das Modul eingetragen und dann sieht man beim Start auch wunderbar im Log, das das Modul installiert wird.. Hat ja auch funktioniert bis zum Update...

DutchmanNL commented 5 years ago

conn.connect is aber definitief eine Funktion des NPM moduls daher kann es im gründe nicht am script sondern nur an den abhaengigkeiten liegen.

Die variable wird hier initiiert :

conn = new vbus.TcpConnection({

und die vbus variable kommt aus dem NPM Modul :

var vbus = require('resol-vbus');

Ich werde am WE mal die installation eines bekannten beobachten und mich melden, dort sind meines Wissens nach alle Abhängigkeiten auf dem neuesten stand. Ich melde mich mit dem Resultat, ueberpruefe aber mal bitte noch zur Sicherheit ob das NPM Modul wirklich da ist und kein error im log kommt beim laden.

Es koennte auch sein das sich etwas in dem NPM Modul geändert hat wovon ich noch nicht informiert bin wodurch conn.connect nicht mehr als Funktion erkannt wird.

Will check it

Dutch

juchstrasse commented 5 years ago

Hallo

ich habe seit dem JS Update auf 4.1.16 genau den gleichen Fehler wie mameier1234 Bisher lief alles tadellos ausser dass ich nach jedem JS Update das Modul resol-vbus neu installieren musste. Diesmal hat die Installation zwar den Fehler beseitigt, dass er das Modul nicht finden könne. Dafür kommt aber der Fehler beim Aufruf von "conn.connect().done(function() {"

Ich hoffe da lässt sich etwas machen :) Freundliche Grüsse

mameier1234 commented 5 years ago

Irgendwelche neuen Erkenntnisse ? Nachdem @juchstrasse ja nun das selbe Problem hat ??

Ich habe das Problem auch Stand heute mit den aktuellsten Modulen und JS- Controller 2.0.38

DutchmanNL commented 5 years ago

das problem ligt am Resol-VBUS Modul was in version 0.20 geändert wurde (0.17 laeuft0 darum funktioniert das script nicht mehr einwandfrei.

Ich überlege gerade das ganzen mit dem neuen Modul direct zu einem adapter zu porten anstatt das script Komplett neu zu schreiben

mameier1234 commented 5 years ago

Da bin ich ja froh, dass es nicht an mir liegt..

Adapter wäre super.. Hat ein Paar Tage Zeit, da der Pool eingewinter ist :-)

juchstrasse commented 5 years ago

Ein Adapter wäre super! Danke schon mal für die bisherige Arbeit.

FoxRo commented 5 years ago

Hallo DutchmanNL , habe genau das gleiche Problem. Besitze einen Resol SLT Solarregler mit LAN Schnittstelle. Adapter wäre sehr cool - aber ein lauffähiges Script wäre auch schon toll. Ich bin leider im Scripten (noch) nicht so fit. Danke für Deine bisherige Arbeit! BTW. habe soeben das Resol-VBUS Modul auf 0.17 down gegraded - kann bestätigen dass es dann läuft.

Breiti66 commented 5 years ago

Hallo FoxRo, kannst du bitte beschreiben wie man den Resol-VBUS down grad macht? Ich finde das nicht. Vielen Dank EDIT: Hab es gefunden, einfach mit @ die Version angeben die man installieren möchte: im Verzeichnis: xxx@iobroker:/home/iobroker/node_modules$ sudo npm install resol-vbus@0.17.0

FoxRo commented 5 years ago

Hallo Breiti66 Entschuldige bitte, war die letzten paar Tage nicht am ioBroker dran. Du hast es richtig beschrieben mit "npm install packet>@<Version" kann man eine x-beliebige Version eines Packetes installieren.