NEWS
Test Adapter klf200 v1.0.x latest
-
@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 -
Hallo, liebes Forum!
Vielen Dank für den feinen Adapter, den ich vor einem halben Jahr erfolgreich installiert und dann benutzt hatte! Aber jetzt bekomme ich es nicht mehr hin und checke nicht warum:
Der Adapter lässt sich nicht mehr verbinden. Ich bekomme folgendes Log:
Ich habe bisher:- den Adapter neu installiert
- die KLF200 zurückgesetzt und neu installiert
- die IP erfolgreich gepingt.
- Adresse und Passwort kontrolliert (benutze die IP und das WLAN-Passwort).
Könnte es an einem Zertifikat, einem versteckten Schlüssel oder so etwas liegen, weil ich einen neuen Router habe? Muss ich etwas in meiner iobroker-Installation resetten?
Ich bin leider blutiger Anfänger und freue mich über Welpenschutz....
Stefan
-
@docspoc71 Problem gelöst. Es lag nicht am Adapter, sondern an der Fritzbox, die unter der IP einen anderen Velux KLF200 geführt hat. Ich musste eine neue, feste IP vergeben, danach hat die Verbindung geklappt.
-
@MiSchroe
Hallo Michael,
auch von mir zunächst mal vielen Dank für den KLF200 Adapter.
Ich habe nach einer Lösung gesucht, meine 13 Somfy Oximo io Rolladenmotoren anzusteuern. Das wäre prinzipiell auch über die Somfy Tahoma Box gegangen, da diese aber offenbar nur auf API Befehle reagiert, wenn eine Internetverbindung besteht, habe ich mich für das KLF200 als Gateway entschieden. Ohne deinen Adapter wäre mich die Verwendung von ioBroker also nicht möglich gewesen.
Die 13 Rolläden wurden ohne Probleme im Objektmanager von ioBroker aufgelistet und auch die Kommunikation/Reaktion auf Stellbefehle hat gleich geklappt. Ich habe jetzt aber ein paar Fragen:- Ich stelle meine Rolläden auch über vor lokale Funk-Taster und möchte natürlich gerne in der Vis den aktuellen Zustand (currentPosition) sehen. Kannst du mir sagen, wie lange die Aktualsierungszyklen sind? Einmal der Aktualisierungszyklus auf dem KLF200 selbst (das Gerät wird ja sicherlich nicht jede Sekunde den Zustand jedes Rolladens pollen) und zum anderen den Aktualisierungszyklus zwischen KLF200 und ioBroker.
- Lässt sich der Aktualsierungszyklus evtl. sogar iregndwo einstellen? (sowohl bei deinem Adapter als auch auf dem KLF200). Im KLF200 habe ich zumidest nichts gefunden, wo man das einstellen könnte.
- Heute hatte ich den Fall, dass auch nach sehr langer Wartezeit der currentPosition Wert nicht aktualisiert wurde (Rolladen war ganz auf, der currentPosition Wert ist aber dauerhaft auf dem alten Wert 50% stehen geblieben). Ich habe dann irgendwann gesehen, dass der GatewaySubState nicht auf Idle stand, obwohl das KLF200 gar nichts zu tun hatte. Was ist da passiert? Nach Neustart des KLF200 war wieder alles ok und der currentPosition Wert wurde wieder nach einigen Minuten aktualisiert.
- Ich möchte in der Vis gerne sehen, wann der Rolladen die gewünschte Position erreicht hat (d.h. z.B. Slider mit targetPosition verknüpft, Rollo-Darstellung mit currentPosition). Mit den mir bekannten Widgets kann man allerdings nur einen Wert verknüpfen, normalerwise natürlich den target-Wert. Gelöst habe ich das jetzt, in dem ich mir das alles aus einzelnen Widgets zusammenstelle. Ist dir (oder jemand anderem hier im Forum) ein Widget bekannt, dass das bereits kann?
-
@MiSchroe
Hallo Michael,
klasse das Du den Adapter entwickelt hast. Ich setze ihn nun ein und habe mir extra diese Steuerungsbox gekauft. Funktioniert soweit auch ganz gut. Ich setze 1.0.1 ein und steuere Damit 3 Velux Jalousien. Leider bekomme ich regelmäßig folgende Meldung und der Adapter startet sich neu.host.raspberrypi 2021-03-27 16:59:57.242 error instance system.adapter.klf200.0 terminated with code 1 (JS_CONTROLLER_STOPPED) klf200.0 2021-03-27 16:59:56.727 info (25706) Cleaned everything up... klf200.0 2021-03-27 16:59:56.711 info (25706) Disconnecting from the KLF-200... klf200.0 2021-03-27 16:59:56.709 warn (25706) Terminated (JS_CONTROLLER_STOPPED): unhandled promise rejection klf200.0 2021-03-27 16:59:56.707 error (25706) Unhandled promise rejection detected. reason: {"stack":"Error\n at new module.exports.TimeoutError (/opt/iobroker/node_modules/promise-timeout/index.js:44:16)\n at Object.module.exports klf200.0 2021-03-27 16:59:56.696 info (25706) Shutting down event handlers... klf200.0 2021-03-27 16:59:56.695 info (25706) Remove socket listener... klf200.0 2021-03-27 16:59:56.693 error at process._tickCallback (internal/process/next_tick.js:68:7) klf200.0 2021-03-27 16:59:56.693 error at PercentageStateChangeHandler.exports.klfPromiseQueue.push (/opt/iobroker/node_modules/iobroker.klf200/build/util/propertyLink.js:161:43) klf200.0 2021-03-27 16:59:56.693 error at Product.setTargetPositionAsync (/opt/iobroker/node_modules/klf-200-api/dist/products.js:391:61) klf200.0 2021-03-27 16:59:56.693 error at Connection.sendFrameAsync (/opt/iobroker/node_modules/klf-200-api/dist/connection.js:156:38) klf200.0 2021-03-27 16:59:56.693 error at Object.module.exports.timeout (/opt/iobroker/node_modules/promise-timeout/index.js:20:15) klf200.0 2021-03-27 16:59:56.693 error at new module.exports.TimeoutError (/opt/iobroker/node_modules/promise-timeout/index.js:44:16) klf200.0 2021-03-27 16:59:56.693 error (25706) Error klf200.0 2021-03-27 16:59:56.692 error (25706) unhandled promise rejection: Timeout Unhandled 2021-03-27 16:59:56.690 error promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch()
Dabei werden dann einige weitere Befehle verschluckt.
Irgendeine Idee woran das liegen kann?Viele Grüße und Danke im Voraus
Benno -
Meine KLF200 und iobroker mochten sich nicht mehr.
Ich glaube ich hatte mal ein Passwort gesetzt und genau dieses nicht notiertAlso habe ich die KLF200 zurückgesetzt und wollte dann die Rollladen neu anlernen.
Aber Pustekuchen - es wurde nichts mehr gefunden.Ich habe dann hier: https://www.dach-shop24.de/velux-interface/p-141270.html folgendes dazu gelesen:
Tipp: Wenn die Produkte nicht in der KLF 200 gefunden werden, wurden sie vermutlich bereits einmal mit einer anderen Zwei-Wege-Fernbedienung (KLR 200, KLF 200, KIX 300 Somfy …) gepairt und haben von dort einen Code („Sicherheitsschlüssel“) erhalten. Das Produkt muß in diesem Fall über den Reset-Knopf am Rollladen bzw. Motor in den Auslieferungszustand gesetzt werden.Dann muss ich wohl mal in den Spitzboden und die KUX 110, an denen meine Rollladen hängen, resetten.
@MiSchroe Vielleicht magst du das ja in die Doku aufnehmen