NEWS
Adapter: broadlink2
-
Hallo!
Ich habe auf https://github.com/frankjoke/ioBroker.broadlink2/tree/V2Beta die Beta/Testversion des neuen Adapters für iobroker in Arbeit (V 1.9.9 wird dann wenn getestet V2.0.0).
Die Änderungen Es kann die Floureon -Thermostate welche NICHT MQQT verwenden (das welches ich zum Testen geliehen bekommen hab ist glaub ich dieses: https://www.amazon.de/FLOUREON-programmierbar-Fussbodenheizung-Heizungsthermostat-Heizungsregelung/dp/B077G6JKCX ) ansprechen und bedienen!
Er kann auch die S1C Broadlink Smart Home Security auslesen ( https://www.amazon.de/gp/product/B07FDDRVWX ), die bilden eine einfache Möglichkeit sehr günstige Bewegungsmelder einzubinden.Leider hab ich nicht alle Geräte zum Testen, so kann ich nur hoffen dass die M1 funktionieren, ich bin auch auf zusätzliche Funktionen draufgekommen die man beim RM einbinden könnte, habe aber nur eines ohne RF und kann das nicht testen.
Ich hab mir ein Beok bestellt um es zu testen und das Floureon endlich dem Verleiher zurück zu schicken...
Egal, ihr könnt das ungefähr so installieren:
cd /opt/iobroker iobroker stop broadlink2 sudo npm install https://github.com/frankjoke/ioBroker.broadlink2/tarball/V2Beta --production iobroker u broadlink2 iobroker start broadlink2.0
Der Adapter ändert einige Namen von states und löscht die alten states nicht. Bitte selbst die alten states löschen (falls ihr nicht wieder zurücksteigen wollt/müsst).
Werde mich hier wieder melden wenn die wirkliche V2.0.0 verfügbar wird!
-
@frankjoke sagte in Adapter: broadlink2:
Der Adapter ändert einige Namen von states und löscht die alten states nicht. Bitte selbst die alten states löschen (falls ihr nicht wieder zurücksteigen wollt/müsst).
Ich gebe zu, Du verunsicherst mich ein wenig mit diesem Hinweis.
Sind damit die angelernten Steuercodes verloren, oder bezieht sich diese Aussage auf etwas anderes? -
Nein, die ausgelesenen KOmmandos gehen nicht verloren, es handelt sich nur um
notReachable
das jetzt_notReachable
heisst da ich alle states die nicht vom Gerät kommen und nur im Adapter künstlich kreiert werden mit '_' vorne kennzeichnest.Sonst sollte alles wie vorher funktionieren.
p.s.: Beim Floureon zeit setzen: Man kann egal was auf time schreiben und es wird das Floureon auf die Zeit der iobroker-Instanz eingestellt!
-
@frankjoke sodele, mein erster Test fällt zwiespältig aus.
Sofern ich die angelernten Codes unter "Objekte" einzeln ansteuere (sind alle als Rolle "button" angelegt), funktionieren diese auch grundsätzlich.
Allerdings fällt mir auf, das einige Codes scheinbar 4 mal ausgelöst werden. Die orangene LED des RM pro (signalisert das Senden eines Codes) bleibt ziemlich lange an und pulsiert 4 mal.
Das habe ich sowohl bei IR Codes als auch bei RF433MHz.Scripte werden hingegen nur zum Teil ausgeführt, einige Codes des Scriptes schon, andere hingegen nicht.
Schwer zu sagen ob dies mit dem langen Senden/Pulsieren zusammenhängt, dass somit nachfolgende Codes ggf. nicht mehr ausgeführt werden?!?!Über Alexa Sprachsteuerung werden die meisten Codes nicht mehr erkannt, hier werde ich die Geräte aber zunächst einmal wieder neu suchen lassen, das hängt womöglich nicht direkt mit dem Adapter zusammen.
That's it so far
-
Ok, habe mit @BBTown im chat die Probleme durchgemacht und folgende Spezialitäten herausgefunden:
- Er hat Geräte wo das Senden eines codes 2-4 Sekunden dauert, das Timeout das ich gesetzt hatte war aber nur auf eine Sekunde eingestellt, dadurck einer der Fehler. Habe das Timeout (nur beim Senden von Befehlen) auf 5 Sekunden umgestellt und alle seine Codes können jetzt gesendet werden.
- Er hat im blocky script mehrere send-Befehle mittels setState gesendet, aber ohne zu warten ob die Befehle ausgeführt wurden. Da der neue Adapter keine neuen Befehle erlaubt (wegen obigem Problem 1) bevor das alte fertig ist generierte er Fehler falls der nächste Befehl sofort gesendet wurde. Das hab ich im Programm geändert das alle Befehle EINES RM's zwar sofort erzeugt werden können aber trotzdem nur hintereinander ausgeführt werden und keine Fehler generieren. Der Nebeneffekt ist falls sie mehrere Geräte Verwenden um Befehle zu senden es sein kann dass der RM den Befehl noch nicht gesendet hat obwohl sie z.B. ein anderes Gerät schon steuern. Dann müsst ihr scripte schreiben die auf die Befehle warten.
Diese Version mit den 2 Änderungen steht sofort auf git V2Beta.
p.s.: Szenen in broadlink2 warten immer bis der Befehl gesendet wurde, können aber nur Befehle für die eigene Instanz senden!
-
@frankjoke Funktioniert alles wie es soll, klasse Arbeit!!
Auffällige Neuerung (?) - Wenn ich die Codes Importiere (aus einer json Sicherung), dann werden offensichtlich sämtliche Codes einmal abgesetzt/gesendet -
Ok, weiß nicht genau was du mit import json meinst (brauchst normal nicht was ich damit meine) aber kannst die jetzige Version checken ob es noch immer auftritt?
Ich habe nureinen Namen geänert der normal eventuell aufgerufen wird um den ersten Wert eines States zu setzen (und damit zu senden). Bin aber nicht sicher da ich das import welches du machst nicht kenne und nachvollziehen kann.
-
@frankjoke Vielleicht erinnerst Du dich, dass durch einen Neustart vom ioBroker (oder ggf. auch nur durch einen Neustart des broadlink- Adapters) sich der Name des Broadlink Devices mitunter änderte?!!
Daher habe ich den gesamten "Baum" der broadlink Datenpunkte im Register "Objekte" als json-Datei exportiert.
Anschließend in Notepad kurz die Objekte mit suchen/ersetzen auf den neuen Namen angepasst und dann diese json-Datei wieder importiert. So hatte ich sämtliche Codes dem "neuen" Gerät zugeordnet (einen "neuen Baum" angelegt).Das gleiche habe ich natürlich beim Testen des neuen Adapters auch wieder so gemacht, dieses mal hat der broadlink ja erneut einen neuen Namen erhalten.
Du hast recht - würde sich nicht dauernd der Name ändern bräuchte ich den Import nicht
-
@frankjoke
Mal eine Frage...
Wäre es mit dem Adapter möglich die Sendedauer-/länge zu beeibflussen?
Habe hier z.B. einen Panasonic Ferseher, der benötigt einen längeren ein/aus Befehl.
Außerdem steure ich einen Dimmer, da wäre es super, wenn ich die Sendedauer beeinflussen könnte. -
Hallo wieder!
Habe grad die 1.9.9beta auf
https://github.com/frankjoke/ioBroker.broadlink2/tarball/V2Beta
Ihr solltet das update auch mit dem git-Äffchen machen können, aber ihr müsst dann unbedingt einen upload machen!
Was ist neu:
- Hab bei Schaltern auch einen 'state' generiert damit man den Wert auch dort auslesen kann und andere Werteänderungen nicht das Gerät ansprechen.
- Habe in der Konfiguration die IP-Endung herausgenommen da ich jetzt automatisch immer nur den ersten Teil der IP-adresse auslese (der Teil vor dem ersten '.'). Dadurch brauch ich das nicht mehr und der Name den Das Gerät dem Netzwerk bekanntgibt erscheint normal automatisch (wenn man es nicht im router ändert).
- Anstett der Endung kann man jetzt in der Konfig Geräte umbenennen! Es gibt ein neues Feld welche Wertepaare (getrennt durch ',') wie
alterName=neuerName
, ... erlaubt. Damit könnt ihrauch namen vergeben welche nicht mit RM: oder SP: ... beginnen. Ein weiterer Vorteil davon ist: Wenn ihr einen RMxxx umbenennt dann werden alle gelernten Objekte mit übernommen! Das hat auch den Vorteil dass ihr z.B einen RMxxx austauschen könnt und ihn auf den alten Namen umbenennen könnt und damit die alten gelernten Werte auf den neuen RM übertragen könnt. Das geht auch wenn sich der Name des RM's ändert. Wenn der neue Name noch nicht besteht werden die Werte übernommen und der alte Name gelöscht, sonst bleiben beide ud du kannst löschen was du willst.....
-
@frankjoke
Ist das normal?$ ./iobroker url "https://github.com/frankjoke/ioBroker.broadlink2/tree/V2Beta" install https://github.com/frankjoke/ioBroker.broadlink2/tree/V2Beta/tarball/master npm install https://github.com/frankjoke/ioBroker.broadlink2/tree/V2Beta/tarball/master --production --save --prefix "/opt/iobroker" (System call) npm ERR! code E404 npm ERR! 404 Not Found - GET https://github.com/frankjoke/ioBroker.broadlink2/tree/V2Beta/tarball/masternpm ERR! 404 npm ERR! 404 'https://github.com/frankjoke/ioBroker.broadlink2/tree/V2Beta/tarball/master' is not in the npm registry. npm ERR! 404 Your package name is not valid, because npm ERR! 404 1. name can only contain URL-friendly characters npm ERR! 404 2. name can no longer contain capital letters npm ERR! 404 npm ERR! 404 Note that you can also install from a npm ERR! 404 tarball, folder, http url, or git url. npm ERR! A complete log of this run can be found in:npm ERR! /root/.npm/_logs/2019-03-31T21_01_46_763Z-debug.log process exited with code 0
-
@padrino sagte in Adapter: broadlink2:
Wäre es mit dem Adapter möglich die Sendedauer-/länge zu beeibflussen?
Habe hier z.B. einen Panasonic Ferseher, der benötigt einen längeren ein/aus Befehl.
Außerdem steure ich einen Dimmer, da wäre es super, wenn ich die Sendedauer beeinflussen könnte.Leider ist das nicht möglich, da der code die Sendedauer bestimmt. Eigentlich ist der code eine komprimierte Art der Information wie lang ein Signal gesendet werden soll und wie lang dann pause sein soll, und das bis ans Ende des Signals.
Einzige Möglichkeit den Befehl mehrmals zu senden. Für deinen Fernseher könntest eine Szene anlegen wo du das Signal z.B. 5x sendest. Beim Dimmer kannst auch Szenen verwenden um z.B mehr abzudunkeln oder aufzuhellen, aber ohne spezielles script mit JS/blocky könntest du nicht ein halten simulieren (senden solange gedrückt ist).
-
Bitte nicht
https://github.com/frankjoke/ioBroker.broadlink2/tree/V2Beta
sondernhttps://github.com/frankjoke/ioBroker.broadlink2/tarball/V2Beta
! -
@frankjoke sagte in Adapter: broadlink2:
Bitte nicht
https://github.com/frankjoke/ioBroker.broadlink2/tree/V2Beta
sondernhttps://github.com/frankjoke/ioBroker.broadlink2/tarball/V2Beta
!Hoppla. Danke.
Nun ging es wohl.
Log beim Start des AdaptersPromise problem unhandledRejection of Promise Promise { <rejected> TypeError: Cannot read property 'split' of undefined at main (/opt/iobroker/node_modules/iobroker.broadlink2/broadlink2.js:783:22) a
-
Ok, auch schon gefunden, du hast natürlich ein leeres rename da du keine Neuinstallation gemacht hast...
Sollte auf git gelöst sein! -
@frankjoke
Ok, läuft.Das neue "rename" kann mir aber nicht helfen, dass mein altes Gerät mit "-local" im Namen wieder (also als neues ohne den Zusatz) erkannt wird, oder?
-
@padrino sagte in Adapter: broadlink2:
@frankjoke
Ok, läuft.Das neue "rename" kann mir aber nicht helfen, dass mein altes Gerät mit "-local" im Namen wieder (also als neues ohne den Zusatz) erkannt wird, oder?
Sollte schon!
neuerName=alterName
und den Objekt.Baum des neuen namens im Admin.objects löschen...Ok, hab's noch nicht in diese Richtung probiert aber musst ja nicht löschen wenn nicht funktioniert.
-
@frankjoke
Ok.
Also Du meinstRM:RMPROPLUS-xx-xx-xx=RM:RMPROPLUS-xx-xx-xx-local
nicht
RM:RMPROPLUS-xx-xx-xx-local=RM:RMPROPLUS-xx-xx-xx
(Hab' Angst mir etas zu zerschießen )
Hatte vermutet, neues (non-local) Objekt zu löschen und dann das -local umzubennen - ist wohl genau falsch rum.
-
Ja, genau, neues Objekt solltest du löschen können und altes behalten.
-
Ja, kannst auch : alters-objekt=WohnzimmerRM, neues-objekt=WohnzimmerRM
dann solltest alles unter WohnzimmerRM haben!