NEWS
Test Adapter klf200 v1.0.x latest
-
@Frank579 Ich habe schonmal einen neuen Datenpunkt RebootGateway hinzugefügt. Das funktioniert aber nur, wenn man überhaupt noch eine Verbindung zum Gateway hat.
-
@MiSchroe
Hi deine erste Änderung scheint schon geholfen zu haben, Läuft noch immer mit der Version ohne reboot Datenpunkt. Werde jetzt mal updaten und schauen was passiert -
Ich habe nun die Version 1.0.0 auf npm veröffentlicht. Damit sollte die Version auch in kürze über das latest-Repository verfügbar werden. Da ich noch eine Verschlüsselung des Passwords integriert habe, müsst Ihr nach der Installation Euer Password einmalig neu eintragen.
-
Hallo, erst einmal vielen Dank für die Entwicklung. Habe das Projekt in den letzten Tagen intensiv verfolgt. Jetzt habe ich den Adapter 1.0.0 installiert, bekomme ihn aber nicht zum laufen. Folgende Fehlermeldung erhalte ich:
host.ioBroker 2020-06-27 13:49:26.485 info Restart adapter system.adapter.klf200.0 because enabled
host.ioBroker 2020-06-27 13:49:26.485 error instance system.adapter.klf200.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
host.ioBroker 2020-06-27 13:49:26.485 error Caught by controller[0]: }
host.ioBroker 2020-06-27 13:49:26.484 error Caught by controller[0]: requestPath: 'klf-200-api'
host.ioBroker 2020-06-27 13:49:26.484 error Caught by controller[0]: path: '/opt/iobroker/node_modules/klf-200-api/package.json',
host.ioBroker 2020-06-27 13:49:26.484 error Caught by controller[0]: code: 'MODULE_NOT_FOUND',
host.ioBroker 2020-06-27 13:49:26.483 error Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:986:32) {
host.ioBroker 2020-06-27 13:49:26.483 error Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
host.ioBroker 2020-06-27 13:49:26.482 error Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:1138:30)
host.ioBroker 2020-06-27 13:49:26.482 error Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.klf200/build/main.js:9:23)
host.ioBroker 2020-06-27 13:49:26.481 error Caught by controller[0]: at require (internal/modules/cjs/helpers.js:72:18)
host.ioBroker 2020-06-27 13:49:26.481 error Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:1026:19)
host.ioBroker 2020-06-27 13:49:26.481 error Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:842:27)
host.ioBroker 2020-06-27 13:49:26.481 error Caught by controller[0]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:953:27)
host.ioBroker 2020-06-27 13:49:26.480 error Caught by controller[0]: at Function.Module._findPath (internal/modules/cjs/loader.js:683:18)
host.ioBroker 2020-06-27 13:49:26.480 error Caught by controller[0]: at tryPackage (internal/modules/cjs/loader.js:322:19)
host.ioBroker 2020-06-27 13:49:26.480 error Caught by controller[0]: Error: Cannot find module '/opt/iobroker/node_modules/klf-200-api/dist/index.js'. Please verify that the package.json has a valid "main" entry
host.ioBroker 2020-06-27 13:49:26.479 error Caught by controller[0]: ^
host.ioBroker 2020-06-27 13:49:26.479 error Caught by controller[0]: throw err;
host.ioBroker 2020-06-27 13:49:26.478 error Caught by controller[0]: internal/modules/cjs/loader.js:330
host.ioBroker 2020-06-27 13:49:25.957 info instance system.adapter.klf200.0 started with pid 11654
host.ioBroker 2020-06-27 13:48:55.917 info Restart adapter system.adapter.klf200.0 because enabledHabe mit WinSCP nachgesehen. Es fehlt "/opt/iobroker/node_modules/klf-200-api/dist/index.js". klf-200-api ist installiert. Das Gateway ist per IP eingerichtet und erreichbar. Auch mit Telnet komme ich rein. Was kann/ muss ich zur Behebung machen?
Andreas
-
Hallo, auch meinerseits ein herzliches Danke für die Entwicklung des Adapters. Ich bin gestern auf die neue Version umgestiegen und erhalte nun immer folgende Meldung
2020-06-27 17:38:43.807 - error: host.hans-Lenovo-YOGA-900-13ISK instance system.adapter.klf200.0 terminated by request of the instance itself and will not be restarted, before user restarts it. 2020-06-27 17:38:43.807 - info: host.hans-Lenovo-YOGA-900-13ISK Do not restart adapter system.adapter.klf200.0 because desired by instance 2020-06-27 17:39:33.597 - info: host.hans-Lenovo-YOGA-900-13ISK instance system.adapter.klf200.0 started with pid 4364 2020-06-27 17:39:34.284 - info: klf200.0 (4364) starting. Version 1.0.0 in /opt/iobroker/node_modules/iobroker.klf200, node: v12.18.1, js-controller: 3.1.5 2020-06-27 17:39:34.313 - info: klf200.0 (4364) Host: VELUX-KLF-E5B7.fritz.box
Die todo's aus der Anleitung habe ich schon alle durch . Ich hoffe mir kann geholfen werden
lg Hans -
@Andy61 Es fehlt das klf-200-api-Modul. Das installiert sich mit der Installation des Adapters normalerweise mit. Wie hast Du die Installation des Adapters durchgeführt, über den Admin oder manuell?
Wechsele mal in das Verzeichnis /opt/iobroker/node_modules/iobroker.klf200 und führe dort npm install aus. Dadurch installieren sich die fehlenden Abhängigkeiten nach.
-
@schauaufdich Kannst Du bitte auch die Log-Einträge vor der Fehlermeldung posten? Der Adapter beendet sich selbst, wenn er sich nicht mit der Box verbinden kann, das kann ein falsches Passwort sein oder irgendetwas anderes. Passwort ist entweder das WLAN-Passwort auf der Rückseite der Box oder ein selbst vergebenes.
-
@MiSchroe einfach super, vielen Dank. Keine Fehlermeldungen mehr und verbunden ist er auch. Jetzt wird er eingebunden und getestet. Die api hatte ich auf der Konsole installiert, den Adapter als admin. Es könnte evtl. damit zusammenhängen, das ich den alten Adapter mal installiert hatte und die Steuerung bisher über Scripte gelöst hatte. Das wollte ich jetzt ablösen. Vielen Dank für die schnelle Hilfe. LG Andreas
-
@MiSchroe danke, hier die Logeinträge
2020-06-28 12:52:32.834 - info: javascript.0 (18503) script.js.common.Wäschewaschen: script Wäschewaschen läuft 2020-06-28 12:52:32.834 - info: javascript.0 (18503) script.js.common.Wäschewaschen: 0.02 2020-06-28 12:52:32.834 - info: javascript.0 (18503) script.js.common.Wäschewaschen: Trockner aus 28.06.2020 12:52:32 2020-06-28 12:53:00.032 - info: javascript.0 (18503) script.js.common.ZeitenVisualisierung: Tageszeiten 1 gestartet 2020-06-28 12:53:00.044 - info: javascript.0 (18503) script.js.common.Tageszeiten: Tageszeiten 1 gestartet 2020-06-28 12:53:25.255 - info: javascript.0 (18503) script.js.common.divRoutinen: script Verbrauch seit letzter Ablesung läuft: 2020-06-28 12:54:00.038 - info: javascript.0 (18503) script.js.common.Tageszeiten: Tageszeiten 1 gestartet 2020-06-28 12:54:00.053 - info: javascript.0 (18503) script.js.common.ZeitenVisualisierung: Tageszeiten 1 gestartet 2020-06-28 12:54:01.378 - info: host.hans-Lenovo-YOGA-900-13ISK instance system.adapter.klf200.0 started with pid 21670 2020-06-28 12:54:01.939 - info: klf200.0 (21670) starting. Version 1.0.0 in /opt/iobroker/node_modules/iobroker.klf200, node: v12.18.1, js-controller: 3.1.6 2020-06-28 12:54:01.961 - info: klf200.0 (21670) Host: velux-klf-e5b7.fritz.box 2020-06-28 12:54:06.219 - info: klf200.0 (21670) Terminated (ADAPTER_REQUESTED_TERMINATION): Login to KLF-200 device at velux-klf-e5b7.fritz.box failed. 2020-06-28 12:54:06.765 - error: host.hans-Lenovo-YOGA-900-13ISK instance system.adapter.klf200.0 terminated by request of the instance itself and will not be restarted, before user restarts it. 2020-06-28 12:54:06.766 - info: host.hans-Lenovo-YOGA-900-13ISK Do not restart adapter system.adapter.klf200.0 because desired by instance
Wenn ich im klf200 Verzeichnis "npm install" durchführe erhalte ich folgendes:
npm WARN @typescript-eslint/eslint-plugin@2.34.0 requires a peer of eslint@^5.0.0 || ^6.0.0 but none is installed. You must install peer dependencies yourself. npm WARN @typescript-eslint/parser@2.34.0 requires a peer of eslint@^5.0.0 || ^6.0.0 but none is installed. You must install peer dependencies yourself. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.3 (node_modules/mocha/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
Muss ich noch etwas installieren?
Danke -
@schauaufdich Bitte prüfe das Passwort. Die Fehlermeldung wird gelogged, wenn das Pasword falsch ist.
-
@MiSchroe Danke nochmals, jetzt ist der Adapter grün. Ich habe das Web-Passwort und nicht das WLAN-Passwort verwendet Wer lesen kann, ist im Vorteil...
-
Gibt es die Möglichkeit, den Wert des Regensensors bei einem Integra-Fenster auszulesen?
-
@Boot007 Da gibt es unter https://github.com/MiSchroe/ioBroker.klf200/issues/47 auch gerade eine Anfrage. Ich muss mir das angucken. Es müssen auf jeden Fall noch weitere States erzeugt werden.
Aktuell bekommt man es auf jeden Fall mit, wenn der Regensensor das Fenster schließt, das steht in irgendeinem der Status-Werte drin (habe gerade keinen Zugriff), aber wenn das Fenster schon zu ist oder nur die Lüftungsklappe offen, dann wird vermutlich keine Änderung passieren.
-
@Andy61 Ich benötige doch noch einmal Hilfe. Mit npm install läuft der Adapter erst einmal problemlos. Wenn er allerdings neu startet, stellt sich wieder das alte Verhalten ein (siehe meine Nachricht vom 27.06.). Den automatischen Reeboot habe ich ausgeschaltet. Nicht schön, aber läuft.
Nach dem Update auf 1.0.1. natürlich wieder die gleiche Prozedur. Was muss ich machen, um dieses Verhalten abzustellen?
Nach dem Update auf 1.0.1. lief erst alles sauber. Jetzt gibt es wieder keine Verbindung und folgende Fehlermeldung "startInstance klf200.0: cannot find start file!". Ein Downgrade auf 1.0 brachte Abhilfe. Was kann ich machen?
LG Andreas -
Vielen Dank für diese neue Version.
Ich konnte nun endlich die FHEM Installation runterwerfen, die ich nur für die Schnittstelle zur KLF laufen hatte.
Was nicht bedeuten soll, dass an FHEM etwas schlecht wäre. -
@Andy61 Hallo, ich bekomme beim npm update immer noch eine Warnung:
root@ioBroker:/opt/iobroker/node_modules/iobroker.klf200# npm update npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.1 (node_modules/ch okidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@ 2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"} )Kann es daran liegen, das die Version 1.0.1 nicht läuft und ich nach jedem Neustart erst wieder ein npm update machen muss?
im log erscheint folgende Fehlermeldung beim Start:
host.ioBroker 2020-08-23 13:06:21.353 error startInstance klf200.0: cannot find start file!
Andreas -
@Andy61 Könnte am root-Login liegen.
-
@Thomas-Braun Danke für den Hinweis. Folgendes habe ich gemacht:
Ich habe den gesamten Adapter noch einmal deinstalliert (auch die Ordner gelöscht). Dann neu installiert (die Version 1.0.1, die vorher gar nicht lief). Dann im Ordner ein npm update -f gemacht, klf200 neu gebootet und jetzt scheint es zu laufen. Auch ein Neustart funktioniert jetzt. Super, jetzt kann es in den Urlaub gehen. -
Moin!
Auch von mir ein großes Dankeschön für die Entwicklung des Adapters, welcher bisher einwandfrei funktioniert hat.
Ich habe leider seit ca. 2 Wochen das Problem, dass der Adapter sich nicht mehr erfolgreich einloggen kann.
klf200.0 2020-10-06 12:39:04.815 info (871094) Terminated (ADAPTER_REQUESTED_TERMINATION): Login to KLF-200 device at http://velux-klf-0CB8 failed.
klf200.0 2020-10-06 12:39:04.804 info (871094) Host: http://velux-klf-0CB8
klf200.0 2020-10-06 12:39:04.710 info (871094) starting. Version 1.0.1 in /opt/iobroker/node_modules/iobroker.klf200, node: v12.18.4, js-controller: 3.1.6Ich habe diesen bereits deinstalliert und neu installiert, jedoch ohne Erfolg. Grundsätzlich hat der Adapter bereits funktioniert, sodass das Dachfenster beim händischen öffnen eines Giebelfensters automatisch mit aufging (das ist für mich smart )
In die KLF Config komme ich nur über WLAN http://klf200.velux, das war vorher aber auch schon so. Ping an die IP-Adresse über LAN funktioniert. Aber egal, was ich als Host in den Adapter-Einstellungen auch eingebe -> "Login failed"
Ich habe es also mit folgendem probiert:
- IP-Adresse
- velux-klf-0CB8
- velux-klf-0cb8
- http://velux-klf-0cb8
- klf200.velux
und einiges mehr.
Passwort habe ich beim Standard gelassen und kann mich damit auch über W-LAN erfolgreich einloggen.
EDIT:
Nachdem ich erst jetzt die oben aufgeführte Anleitung, insbesondere zum Thema fritz.box, gelesen habe, habe ich auch all das ausprobiert. Ping und Telnet funktioniert mit und ohne dem Zusatz fritz.box. Auch die IP Adresse funktioniert bei beidem, aber der Adapter will einfach nicht. Oben hatte ich die letzten 4 Ziffern der W-LAN MAC aufgeführt, was natürlich falsch ist. Vorher hatte ich die richtige MAC verwendet und auch jetzt wieder probiert, leider kein Erfolg
Auch die Konfig in der FB (selbstständige Portfreigabe sowie Internetzugang unbeschränkt) hat nichts geändert...Lösung für alle, die das gleiche Problem haben:
In der Doku wird fälschlicherweise das Passwort der Website gefordert, bei mir hat nun aber das WLAN Passwort funktioniert. -
Hallo Michael,
auch von mehr erstmal vielen Dank für die Entwicklung des Adapters.
Bei mir funktioniert er bisher einwandfrei. Was mir im ioBroker wichtig war, endlich die Sicherheitsfeatures zu implementieren, die in der besch****nen gekapselten Velux ioHomecontrol Welt nicht möglich sind. Wer schonmal sein elektrisches Rollo ins offene Fenster gesemmelt hat, weiß was ich meineIch habe dazu zwei Script entwicklet, die ich gerne mit der Community teilen möchte und genau das verhindern:
/* Prüfe, ob Fenster weiter als bisher geöffnet werden soll*/ on({ id: 'klf200.0.products.1.targetPosition'/*Position Fenster*/, change: "gt", ack: false }, async function (obj) { var valueFenster = obj.state.val; var oldValueFenster = obj.oldState.val; /* Prüfe, ob Rolle weiter als 50% geöffnet ist*/ if (getState("klf200.0.products.0.currentPosition").val > 50) { /* Fenster anhalten */ setState('klf200.0.products.1.stop'/*stop*/, true); /* Rolle auf 50% zurückfahren, dann kann das Fenster gefahrlos geöffnet werden */ setState('klf200.0.products.0.targetPosition', 50, false, function () { /* Callback: Trigger, wenn Rolloänderung fertig (Status 5) */ on({ id: 'klf200.0.products.0.state'/*state*/, val: 5, ack: true }, async function (obj) { var valueRollo = obj.state.val; var oldValueRollo = obj.oldState.val; /* Wenn Trigger erfüllt, Fenster auf ursprünglich gewünste Position öffnen */ setState('klf200.0.products.1.targetPosition', valueFenster, false, function () { /* Trigger auf Rolladenstatus abmelden*/ unsubscribe('klf200.0.products.0.state') }); }) }) }; });
/* Prüfe, ob Rolle weiter als bisher geschlossen werden soll*/ on({ id: 'klf200.0.products.0.targetPosition'/*Position Fenster*/, change: "gt", ack: false }, async function (obj) { var valueRolle = obj.state.val; var oldValueRolle = obj.oldState.val; /* Prüfe, ob Fenster weiter als 10% geöffnet ist (dies ist der Stellwert für den Dampfabzug)*/ if (getState("klf200.0.products.1.currentPosition").val > 10) { /* Rollo anhalten */ setState('klf200.0.products.0.stop'/*stop*/, true); /* Fenster auf 10% zurückfahren, dann kann das Rolle gefahrlos geschlossen werden */ setState('klf200.0.products.1.targetPosition', 10, false, function () { /* Callback: Trigger, wenn Fensteränderung fertig (Status 5) */ on({ id: 'klf200.0.products.1.state'/*state*/, val: 5, ack: true }, async function (obj) { var valueFenster = obj.state.val; var oldValueFenster = obj.oldState.val; /* Wenn Trigger erfüllt, Rollo auf ursprünglich gewünste Position schließen */ setState('klf200.0.products.0.targetPosition', valueRolle, false, function () { /* Trigger auf Fensterstatus abmelden*/ unsubscribe('klf200.0.products.1.state') }); }) }) }; });
Wer mag kann sich gerne bedienen.
Viele Grüße,
Stefan