NEWS
Adapter: broadlink2
-
@frankjoke
Hi, ich nutze Deinen Adapter schon ca. 1/2 Jahr mit meinem Broadlink RM pro+.
Bis auf die Tatsache, daß der Broadlink im Adapter ein Mal umbenannt wurde, hat er problemlos funktioniert.
Die ungewollte Umbenennung nach broadlink2.0.RM:RMPRO-MOVE315-55-3a-50 konnte ich durch editieren der enstpr. JSON fixen, bzw. korrigieren, ohne sämtliche Befehle neu anlernen zu müssen.
So weit, so gut.Mit dem Update auf Broadlink 2.1.0 habe ich jetzt allerdings Probleme:
1.) Ich bekomme jetzt ständig Warnings:broadlink2.0 2020-06-22 14:05:29.089 warn (19190) RMP, RM:RMPRO-MOVE315-55-3a-50, 34:ea:34:55:3a:50, 192.168.192.175 still waiting for previous command [object Object]! broadlink2.0 2020-06-22 14:05:29.042 warn (19190) RMP, RM:RMPRO-MOVE315-55-3a-50, 34:ea:34:55:3a:50, 192.168.192.175 still waiting for previous command [object Object]! broadlink2.0 2020-06-22 14:05:26.667 warn (19190) RMP, RM:RMPRO-MOVE315-55-3a-50, 34:ea:34:55:3a:50, 192.168.192.175 still waiting for previous command [object Object]! broadlink2.0 2020-06-22 14:05:26.618 warn (19190) RMP, RM:RMPRO-MOVE315-55-3a-50, 34:ea:34:55:3a:50, 192.168.192.175 still waiting for previous command [object Object]!
Ich nutze ein JavaScript, um verschiedene Broadlink-Befehle nacheinander abzusetzen (IR für TV und 433 MHz für Schaltsteckdosen). Ich hatte in das JS auch mal testweise mehrere setTimeout(function() eingebaut, in der Annahme, daß die Befehlsaussendung zu schnell hintereinander erfolgt. Aber auch mit Wartezeiten von ca. 5 Sekunden nach jedem Befehl kommen immer noch die "still waiting for previous command".
2.) Auch das hier schon angesprochene Problem, daß der Key expired ist, tritt ab und zu jetzt bei mir auf.
Da hilft dann nur ein Neustart des AdaptersWohlgemerkt: Der Broadlink RM pro+ ist immer noch der Gleiche und diese Probleme hatte ich mit der älteren Adapterversion nicht.
Falls es hilft, hier meine Konfiguration:
ioBroker auf Raspi 4 (4GByte) mit Raspbian Buster light
/usr/bin/nodejs
v12.16.3
/usr/bin/node
v12.16.3
/usr/bin/npm
6.14.4Gruß
Jörg -
@Knallochse sagte in Adapter: broadlink2:
Mit der neuen Version 2.1.0 habe ich das Phänomen , dass der Broadlink die RF-Codes 3mal hintereinander sendet. Kann man das irgendwo ändern?
Das sollte nicht der Fall sein, der Adapter versucht aber nochmals zu senden wenn ein Fehler beim Senden aufgetreten ist.
Kannst mal auf debug schalten und was senden und schauen/zeigen was im log steht?
-
@deta Auch über die app kann ich nur auf "AN" drücken. Da das signal ein toggle ist, kann ich damit natürlich auch den Ventilator ausschalten. Von dem Befehl her ist es nur irgendwie doof
-
@Christoph1337 sagte in Adapter: broadlink2:
@deta Auch über die app kann ich nur auf "AN" drücken. Da das signal ein toggle ist, kann ich damit natürlich auch den Ventilator ausschalten. Von dem Befehl her ist es nur irgendwie doof
Kannst du den über die Objektdaten Manuell mal schalten. Geht es dann an und aus? Das muss auf jedenfall gehen.
DU kannst mal in iot das auf Switch stellen. Löschen in der Amazon App und neu suchen lassen.
-
Wenn geräte nur eine Toggle-Funktion haben ihr aber einen state haben wollt der true/false ist dann gibt's da eine Möglichkeit.
Angenommen du hastVentilator_EinAus
als für den ToogleState angelkern, nun kannst du in der Konfig unter States folgendes anlegen:
NameVentilator
Ein-Signal:Ventilator_EinAus
Aus-Signal:Ventilator_EinAus
Damit erzeugst du dann einen State mit Namen
States.Ventilator
in dem RM den du dann der Alexa als switch angeben kannst, allerdings ist nicht sicher ob er ein ist wenn du ein sagst, wenn das falsch herum ist dann halt einmal mehr sagen... -
@alle
Habe gerade auf git ein update für 2.1.0 gestellt.
Der Grund ist dass ich bei den states leider Fehler eingebaut hatte da die neuen handler mehr Fehler erkennen und der alte code diese Fehler nicht behandeln konnte.Bitte updaten, speziell wenn ihr sendTo, States oder Scenes verwendet, ich versuche noch alles zu testen was mir hier so wie von @joergeli gemeldet wird.
-
@frankjoke Danke für die Flotte Reaktion. Kannst du mir das aber nochmal erklären? Ich bin glaube ich noch auf dem falschen Dampfer^^
-
Der neue Adapter erkennt und meldet mehr Probleme die beim alten Adapter oft unter den Tisch gekehrt wurden.
Dein Beispiel
broadlink2.0 2020-06-22 14:05:29.089 warn (19190) RMP, RM:RMPRO-MOVE315-55-3a-50, 34:ea:34:55:3a:50, 192.168.192.175 still waiting for previous command [object Object]! broadlink2.0 2020-06-22 14:05:29.042 warn (19190) RMP, RM:RMPRO-MOVE315-55-3a-50, 34:ea:34:55:3a:50, 192.168.192.175 still waiting for previous command [object Object]! broadlink2.0 2020-06-22 14:05:26.667 warn (19190) RMP, RM:RMPRO-MOVE315-55-3a-50, 34:ea:34:55:3a:50, 192.168.192.175 still waiting for previous command [object Object]! broadlink2.0 2020-06-22 14:05:26.618 warn (19190) RMP, RM:RMPRO-MOVE315-55-3a-50, 34:ea:34:55:3a:50, 192.168.192.175 still waiting for previous command [object Object]!
zeigt dass mindestens zwei, wenn nicht sogar 3, Befehle gleichzeitig gesendet wurden. Der erste Befehl hat keinen Fehler erzeugt und war aber noch nicht fertig.
EIn neuer Befehl wird um 14:05:29.042 gestartet und da läuft der alte noch.
Um 14:05:29.089 wird noch einer gestartet der auch gemeldet wird.
Um 14:05:26 war es ungefähr auch so.Der genannte Fehler tritt auf wenn der Adapter einen Befehl an das Gerät sendet und die Antwort vom Gerät erwartet. Das Timeout ist eine Sekunde und normalerweise antwortet das Gerät in 50-200 ms, wenn das Gerät aber nicht bestätigt hat und schon wieder ein neuer Befehl gesendet wird dann kommt der Fehler wobei er bis zu 4 mal angezeigt werden kann da er dazwischen 200ms wartet und dann nochmal versucht.
Bei dir ist die Zeit zwischen den Fehlern aber nur 40-50ms und deshalb ist es ein neuer Befehl der das Verursacht. Die neuen Befehle werden jedoch binnen der nächsten ca 200ms ausgeführt da sie keine weitern Einträge verursachen.
Dein 2. Problem mit dem expired key wird von dem Adapter so behandlelt dass er ein reAuth bei nächster Gelegenheit macht. Ich habe keine Ahnung warum das bei alten RM's überhaupt auftritt aber es scheint so zu sein.
Der alte Adapter hat die Fehler nicht unterschieden und angezeigt, hat nur 3x probiert wenn's einen Fehler gab und hat dann stillschweigend aufgegeben.
-
@frankjoke sagte in Adapter: broadlink2:
@Knallochse sagte in Adapter: broadlink2:
Mit der neuen Version 2.1.0 habe ich das Phänomen , dass der Broadlink die RF-Codes 3mal hintereinander sendet. Kann man das irgendwo ändern?
Das sollte nicht der Fall sein, der Adapter versucht aber nochmals zu senden wenn ein Fehler beim Senden aufgetreten ist.
Kannst mal auf debug schalten und was senden und schauen/zeigen was im log steht?
Hier mal das Debug-Log
broadlink2.0 2020-06-22 20:58:56.894 info (10707) debug: sendPacket error: command 0x6a/0x2 error after 3 trials!: null for RMP, RM:RMPROPLUS-4a-2e-b8, 34:ea:34:4a:2e:b8, 192.168.178.87 broadlink2.0 2020-06-22 20:58:53.768 info (10707) debug: Change broadlink2.0.RM:RMPROPLUS-4a-2e-b8.L.Doppelrollo-Kueche-Hof-Fav to { val: true, ack: false, ts: 1592852333764, q: 0, from: 'system.adapter.admin.0', user: 'system.user.admin', l broadlink2.0 2020-06-22 20:58:32.919 info (10707) found macs: 34:ea:34:4a:2e:b8 broadlink2.0 2020-06-22 20:58:32.919 info (10707) 1 were not found: RM:RMPROPLUS-4a-2e-b8 broadlink2.0 2020-06-22 20:58:32.918 info (10707) broadlink2.0 started and found 1 devices named RM:RMPROPLUS-4a-2e-b8 broadlink2.0 2020-06-22 20:58:32.917 info (10707) Poll every 30 secods. broadlink2.0 2020-06-22 20:58:32.917 info (10707) debug: created State broadlink2.0._SendScene broadlink2.0 2020-06-22 20:58:32.866 info (10707) debug: created State broadlink2.0.RM:RMPROPLUS-4a-2e-b8._LearnRF broadlink2.0 2020-06-22 20:58:32.849 info (10707) debug: created State broadlink2.0.RM:RMPROPLUS-4a-2e-b8._SendCode broadlink2.0 2020-06-22 20:58:32.839 info (10707) debug: created State broadlink2.0.RM:RMPROPLUS-4a-2e-b8._Learn broadlink2.0 2020-06-22 20:58:32.829 info (10707) debug: created State broadlink2.0.RM:RMPROPLUS-4a-2e-b8 broadlink2.0 2020-06-22 20:58:32.821 info (10707) debug: created State broadlink2.0.RM:RMPROPLUS-4a-2e-b8.Temperature broadlink2.0 2020-06-22 20:58:32.812 info (10707) debug: Device RM:RMPROPLUS-4a-2e-b8 returned { here: true, temperature: 0 } broadlink2.0 2020-06-22 20:58:32.674 info (10707) Did not find { host:{ address: '192.168.178.87',family: 'IPv4',port: 80,size: 128,devtype: 10141,type: 'rm',name: 'RM:RMPROPLUS-4a-2e-b8',devname: 'RM3 Pro Plus',mac: '9d:27:57:b2:a8:c0' } } broadlink2.0 2020-06-22 20:58:32.672 info (10707) debug: broadlink2 has 78 old states! broadlink2.0 2020-06-22 20:58:32.671 info (10707) debug: created State broadlink2.0.RM:RMPROPLUS-4a-2e-b8._notReachable broadlink2.0 2020-06-22 20:58:32.658 info (10707) debug: created State broadlink2.0.States.TVWZKanal broadlink2.0 2020-06-22 20:58:32.608 info (10707) debug: created State broadlink2.0.States.Lüfter_A broadlink2.0 2020-06-22 20:58:32.539 info (10707) debug: created State broadlink2.0.States.Steckdose_A broadlink2.0 2020-06-22 20:58:31.748 info (10707) debug: ChangeState ack:true of _NewDeviceScan = false broadlink2.0 2020-06-22 20:58:26.783 info (10707) discover [ '192.168.1.199' ] from 0.0.0.0:53538 broadlink2.0 2020-06-22 20:58:26.783 info (10707) debug: UDP listening on 0.0.0.0:53538 broadlink2.0 2020-06-22 20:58:26.781 info (10707) debug: Try to discover 192.168.1.199 broadlink2.0 2020-06-22 20:58:21.943 info (10707) Device RM:RMPROPLUS-4a-2e-b8 dedected: address=192.168.178.87, mac=34:ea:34:4a:2e:b8, typ=rmp, id=0x279d devtype=RM3 Pro Plus broadlink2.0 2020-06-22 20:58:21.835 info (10707) debug: UDP listening on 0.0.0.0:34061 broadlink2.0 2020-06-22 20:58:21.569 info (10707) discover [ '192.168.178.255', '172.17.0.255', '255.255.255.255', '224.0.0.251' ] from 0.0.0.0:55539 broadlink2.0 2020-06-22 20:58:21.568 info (10707) debug: UDP listening on 0.0.0.0:55539 broadlink2.0 2020-06-22 20:58:21.566 info (10707) debug: ChangeState ack:true of broadlink2.0._NewDeviceScan = true broadlink2.0 2020-06-22 20:58:21.522 info (10707) debug: created State broadlink2.0._NewDeviceScan broadlink2.0 2020-06-22 20:58:21.514 info (10707) debug: UDP listening on 0.0.0.0:15001 broadlink2.0 2020-06-22 20:58:21.509 info (10707) Discover Broadlink devices for 10sec on broadlink2.0 broadlink2.0 2020-06-22 20:58:21.504 info (10707) debug: ChangeState ack:false of broadlink2.0.Scenes.Fernsehen = false broadlink2.0 2020-06-22 20:58:21.460 info (10707) debug: created State broadlink2.0.Scenes.Fernsehen broadlink2.0 2020-06-22 20:58:21.446 info (10707) debug: Config IP-Address end to remove: .fritz.box broadlink2.0 2020-06-22 20:58:21.445 info (10707) macObjects: [ '34:ea:34:4a:2e:b8', '9d:27:57:b2:a8:c0' ] broadlink2.0 2020-06-22 20:58:21.444 info (10707) debug: interface to be used: { address: '172.17.0.1', netmask: '255.255.0.0', mac: '02:42:89:6d:69:2a', cidr: '172.17.0.1/16' }: broadlink2.0 2020-06-22 20:58:21.443 info (10707) debug: interface to be used: { address: '192.168.178.86', netmask: '255.255.255.0', mac: '00:11:32:8f:34:d3', cidr: '192.168.178.86/24' }: broadlink2.0 2020-06-22 20:58:21.441 info (10707) Devices to rename: LB:hostName-aa-bb-cc=LB:SmartBulb broadlink2.0 2020-06-22 20:58:21.440 info (10707) Devices to add: 0xabcd,RM4 0xabcd=RM4 broadlink2.0 2020-06-22 20:58:21.440 info (10707) Scanning additional IP's: 192.168.1.199 broadlink2.0 2020-06-22 20:58:21.436 info (10707) broadlink2 initialization started... broadlink2.0 2020-06-22 20:58:21.435 info (10707) debug: broadlink2 received 78 objects and 78 states, with config ip,scenes,switches,poll,new,rename,additional,interface,lang,latitude,longitude,adapterConf,loglevel broadlink2.0 2020-06-22 20:58:21.430 debug (10707) system.adapter.admin.0: logging true broadlink2.0 2020-06-22 20:58:20.706 info (10707) starting. Version 2.1.0 in /opt/iobroker/node_modules/iobroker.broadlink2, node: v10.20.1, js-controller: 3.1.4 broadlink2.0 2020-06-22 20:58:19.890 debug (10707) statesDB connected broadlink2.0 2020-06-22 20:58:19.889 debug (10707) States connected to redis: 127.0.0.1:9000 broadlink2.0 2020-06-22 20:58:19.848 debug (10707) States create System PubSub Client broadlink2.0 2020-06-22 20:58:19.822 debug (10707) States create User PubSub Client broadlink2.0 2020-06-22 20:58:19.782 debug (10707) Redis States: Use Redis connection: 127.0.0.1:9000 broadlink2.0 2020-06-22 20:58:19.777 debug (10707) objectDB connected broadlink2.0 2020-06-22 20:58:19.767 debug (10707) Objects connected to redis: 127.0.0.1:9001 broadlink2.0 2020-06-22 20:58:19.707 debug (10707) Objects client initialize lua scripts broadlink2.0 2020-06-22 20:58:19.706 debug (10707) Objects create User PubSub Client broadlink2.0 2020-06-22 20:58:19.705 debug (10707) Objects create System PubSub Client broadlink2.0 2020-06-22 20:58:19.701 debug (10707) Objects client ready ... initialize now broadlink2.0 2020-06-22 20:58:19.648 debug (10707) Redis Objects: Use Redis connection: 127.0.0.1:9001 broadlink2.0 2020-06-22 20:58:16.077 debug (10481) system.adapter.admin.0: logging false
-
@frankjoke
Hmmm, in diesem Beispiel hatte ich die Befehle via JavaScript direkt hintereinander gesendet, da kann es durchaus sein, daß da der vorherige Befehl noch nicht fertig war. Die Geräte wurde aber trotzdem einwandfrei geschaltet.Andererseits hatte ich ja geschrieben, daß ich im Script auch mal testweise Verzögerungen von jeweils 5 Sekunden hinter jedem Befehl eingebaut hatte.
Die Befehle wurden auch dementsprechend zeitverzögert abgesetzt, es kamen aber trotzdem die Warnmeldungen, daß der vorige Befehl noch nicht fertig sei ???Anyway, ich kann damit leben, bzw. setze den LogLevel des Adapters auf "Error" , denn die IR, bzw. 433MHz-Empfänger werden ja trotzdem geschaltet.
Gruß
Jörg -
Schau mal in die Adapter-Konfig, dort findest du Listen für Szenen und States.
Kreiere einen neuen Eintrag in States mit deinen gewünschten Namen und Befehlen und dann starte den Adapter neu und du hast unter States den neuen Eintrag.
-
Bitte letzte Version von git ziehen, dort sollte nicht null für den Fehler angezeigt werden.
Übrigens, Dein Gerät scheint öfter nicht am WLAN erreichbar zu sein!
-
@frankjoke Ahhh okay.
Meinst du so?
Nur frag ich mich jetzt wie ich den Broadlink dem zuweise^^
Edit:
Ich hab das auch nochmal in der README des Adapters nachgelesen. Leider bin ich nicht wirklich schlauer darauf geworden. Ein Beispiel wäre da nicht schlecht.
Davon abgesehen. Würde es nicht Sinn machen die DPs im Broadlink so zu bauen, dass man die einfach im IOT verwenden kann? Das ist den Anwender dann ja klar, dass das nur ein Toggle ist
-
Hallo Zusammen,
bin komplett neu in der iOBroker-Welt und wollte gerade meinen neuen Broadlink installieren. Bekomme allerdings folgende Fehlermeldung:
Unrecoverable Send packet error Authentication failed on RM4, undefined, 24:df:a7:d5:ff:ee, 192.168.178.68.Somit taucht der Broadlink nicht in den Objekten auf.
Mache ich etwas falsch? Oder wird das Gerät nicht unterstützt?
Besten Dank!
Gruß Leo
-
@frankjoke sagte in Adapter: broadlink2:
Was ich noch fragen wollte: Werden bei euch jetzt Temperaturen und Luftfeuchtigkeit angezeigt? Die minis können das nicht und deshalb konnte ich's auch nicht testen! Mein alter RMP kann nur temperatur.
Habe heute mein Kabel bekommen und RM4 Mini und RM4 Pro getestet, beim Pro wird die Luftfeuchtigkeit angezeigt. Temperatur bei beiden nicht.
-
@frankjoke
Mea culpa!
Das Problem hat vor dem Monitor gesessen.
Ich habe in mein Script, welches verschiedene Broadlink-Geräte ansteuert, jetzt mal ein paar Log-Ausgaben eingebaut.
Dabei hat sich herausgestellt, daß manche Geräte (z.B. die 433 Mhz Funksteckdosen) teilw. bis zu 3 Sekunden brauchen, damit der Broadlink-Adapter das erkennt. Somit war es also nicht verwunderlich, daß er dann die "Still waiting ..." - Warnings gebracht hat.
Ebenfalls aufgefallen ist mir beim Testen, daß die Antwortzeiten nicht immer die gleichen sind. Ich habe mich langsam im 500 mS-Abstand herangetastet, um zu sehen, wann die Warnings nicht mehr kommen.
Bei 2 Sekunden Sendeabstand schien alles zu funktionieren, beim nächsten Mal kam dann aber doch wieder der eine, oder andere Ausreißer.
So habe ich jetzt für alle Befehle 3 Sekunden Sendeabstand eingetragen, was bei 5 aufeinanderfolgenden Befehlen die Gesamt-Abarbeitungszeit zwar auf 15 Sekunden ausdehnt, aber damit kann ich leben.Gruß
Jörg -
@LeoLud
Willkommen bei ioBroker!Wahrscheinlich hat du den RM4 mit einer neueren App im cloud modus installiert, dann spricht er nicht mit dem broadlink2-Adapter sondern nur mit der cloud.
Nimm eine andere Handy-app wie
e-control
von broadlink, resette den RM4 und bring ihn mit diser App in ein 2.5 Wlan.
Dann sollte er erkannt werden. -
@frankjoke Das war der goldene Tipp! Vielen, vielen Dank für deine Hilfe und deinen Support!
-
@Christoph1337
Nicht ganz so, zuerst benennst du die gelernten states:und dann verwendest die Namen:
Das ist viel übersichtlicher als der code-name!
-
@Dischro
Danke für das feedback!Mal sehen ob ich den Fehler bei der Temperatur für RM4 finde, ich befürchte dass mein Mini aber keine kennt und ich das nicht testen kann