NEWS
Test Adapter deConz v1.3.x Github/npm
-
Aktuelle Test Version 1.3.6 Veröffentlichungsdatum 01.05.2020 Github Link https://github.com/iobroker-community-adapters/ioBroker.deconz Da einige User Probleme mit der Websocket Verbindung haben wenn deConz in einem VLAN oder Container betrieben wird habe ich einen Workaround eingebaut. Ist bis jetzt noch ungetestet!
Wichtig: Durch diesen Workaround merkt der Adapter nicht wenn die Websocket Verbindung unterbrochen wird und baut sie auch nicht neu auf.Außerdem habe ich bei der Gelegenheit auch einen State Level für Lichter und Gruppen eingebaut.
Changelog:
1.3.8
- fix colorloopspeed is not working
- fix set xy has no effect
- some small fixes
1.3.7
- stable re-release
1.3.6
- fix object definition dimup and dimdown
1.3.5
- disable node v8 tests
- fix createscene object definition
- prevent websocket to connect if port, api key or ip is missing
- catch errors on ackStateVal
- fix "Cannot read property 'id' of undefined" for controlId
- fix crash on scene actions with js-controller 3
- catch onStateChange stateObj is null
- fix level update when bri was set by other deConz instance
1.3.4
- fix message "State value to set is invalid"
- terminate websocket connection on error to make sure the session is closed
- check response is not undefined
- catch request errors and send to sentry
- prevent sending message with wrong value type
1.3.3
- fix catch response of setLightState is undefined
- fix ws.terminate at unload
- catch ip/port undefined at auto updates
- catch res is undefined at deleteApiKey
1.3.2
- transitiontime now in seconds instead 1/10 seconds
- fix colorspeed
- use new class style
- add sentry for error collection
- fix transition time if set to 0
- objects will be now deleted if the device is removed by adapter
- fix multiple websocket connections
- try to fix #120 reconnect after 60 seconds
1.3.1
- fix set dimspeed
- connect to Websocket in any case
1.3.0
- fix websocket connection if there are no upnp broadcast answer from deconz
- corrected duration role
- added level to lights and groups
-
@Jey-Cee
Heisst das, der Adapter checkt zum Start, ob es per UPNP geht und wählt dann diesen Weg, bemerkt aber nicht, wenn die Verbindung wegbricht? Und wenn zum Start keine UPNP-Verbindung möglich ist, stellt er die Verbindung so wie bislang her (also z.B. eine 1.1.x-Version)?Wenn dem so ist, dann müsste es bei mir also auch laufen, wenn ich dem iobroker die Netzwerkschnittstelle mit dem IP-Bereich von Deconz wieder wegnehme?! Werde ich dann wohl demnächst mal testen. Danke.
Gruss, Jürgen
-
@Wildbill deine Schlußfolgerung ist richtig.
-
@Jey-Cee
So, habe den Test wie folgt durchgeführt:
Deconz-Adapter gestoppt, iobroker runtergefahren, Backup per Proxmox, Netzwerkkarte für den Deconz-IP-Bereich in Konfig entfernt, iobroker gestartet, Adapter über die Katze aus github installiert und vor dem Start auf debug gestellt.
Leder bleibt er wieder gelb. Änderungen in iobroker kommen in deconz an, andersrum nicht. Hier mal das Log mit debug, ich habe die unwichtigen Dinge entfernt bzw. gekürzt.Auch wenn es wurmt, wenn es nicht läuft, wie es soll, werde ich vermutlich eher mein Netzwerk aufräumen und den Deconz-Homematic-Raspi ins Smarthome-Netz umziehen. Aber, wenn Dir noch was einfällt, immer her damit.
Gruss, Jürgen
EDIT: Ach ja, zur Sicherheit habe ich auch den API-Key mal gelöscht und neu geholt. Ging automatisch, aber hat nichts geändert.
-
Und nachdem ich die Netzwerkkarte mit der IP aus dem Deconz-Netz wieder hinzugefügt hatte, läuft auch 1.3.0 problemlos.
Gruss, Jürgen
-
Da ich gerade auch die gleichen Probleme mit dem deconz Adapter habe wie Du (der RPi mit der Phoscon App ist in einem anderen Netzwerksegment) möchte ich auch versuchen eine zweite, virtuelle Netzwerkkarte für ioBroker einzurichten.... aber wie geht das?
Ich baue in der Datei:
/etc/network/interfacesauto eth1:1 iface eth1:1 inet static address 192.168.178.105 netmask 255.255.255.0
ein wenn der RPi im 178er Segment und ioBroker in meinem 168er Segement ist? Die genaue Adresse ist dann egal? In meinem Fall würde ich einfach .105 nehmen.
Muss ich vielleicht auch noch einen Broadcast angeben:
broadcast 192.168.178.255
Und was muss ich dann noch im ioBroker machen? Irgendwie muss der doch auch die virtuelle Netzwerkkarte kennen, oder?
Für eine kurzen Denkanstoß wäre ich sehr dankbar.
Artur
-
@LoxDUS
Hi,
Das geht nur, wenn Dein Gerät mehrere LAN-Anschlüsse hat oder es sich, wie bei mir, um eine virtuelle Maschine handelt. Der kann ich unter Proxmox beliebige LAN-Anschlüsse geben und diese unterschiedlichen VLANs zuweisen.
Bei Dir wird das mit dem Raspi so leider nichts werden.Gruß, Jürgen
-
Ok, danke für die Antwort. da ich bereits alles in meiner firewall zwischen den Netzwerksegmenten aufgemacht habe (any to any) bleibt mir dann wohl doch nichts anders übrig als ein neues Netzwerkkabel zu dem "Deconz" AccessPoint zu ziehen und das Ding direkt in das gleiche Netzwerk indem auch ioBroker vor sich hinwerkelt zu patchen.....
... und das alles nur weil ich den Deconz Adapter geupdated habe - Ärgerlich.
-
@LoxDUS
die Geräte im gleichen VLAN laufen zu lassen, macht eh am meisten Sinn und man spart sich Frickelei. Bei mir ist die Struktur halt so gewachsen...
Wenn Du jetzt extra ein Kabel ziehen musst, wie hast Du den Raspi bislang eingebunden? Per WLAN? Das wäre für mich dann eh immer eine Notlösung, wo es geht, nehme ich für solche Geräte immer LAN-Kabel.Gruss, Jürgen
-
@LoxDUS
Da ich gerade fertig bin mein Netzwerk um iobroker aufzuräumen, kam mir noch eine Idee, die das Problem auch umgeht. Wenn Du noch einen Raspi rimliegen hast, dann kannst Du iobroker als Multihost laufen lassen. Der neue (Slave dann) bekommt eine IP aus dem Netz der deconz und schon läuft alles problemlos. Habe das soeben für meine Sonos- und Multimediasachen gemacht. Die Sonos findet iobroker auch nur, wenn UPNP durchgeht, was nur im selben Netz geht. Dafür habe ich nun einen Slave im Sonos-Netz erstellt und mit dem Master verbunden und schon läuft es. Ohne auf dem Router mit Tricks zu arbeiten, Löcher aufzureissen oder Verkehr über Netze laufen zu lassen, wo ich ihn eigentlich nicht brauche. So läuft zwischen den Netzen nun nur der Verkehr Master-Slave und der Rest bleibt netzintern.Gruss, Jürgen
-
@LoxDUS sagte in Test Adapter deConz v1.3.x Github/npm:
Da ich gerade auch die gleichen Probleme mit dem deconz Adapter habe wie Du (der RPi mit der Phoscon App ist in einem anderen Netzwerksegment) möchte ich auch versuchen eine zweite, virtuelle Netzwerkkarte für ioBroker einzurichten.... aber wie geht das?
Ich baue in der Datei:
/etc/network/interfacesauto eth1:1 iface eth1:1 inet static address 192.168.178.105 netmask 255.255.255.0
ein wenn der RPi im 178er Segment und ioBroker in meinem 168er Segement ist? Die genaue Adresse ist dann egal? In meinem Fall würde ich einfach .105 nehmen.
Muss ich vielleicht auch noch einen Broadcast angeben:
broadcast 192.168.178.255
Und was muss ich dann noch im ioBroker machen? Irgendwie muss der doch auch die virtuelle Netzwerkkarte kennen, oder?
Für eine kurzen Denkanstoß wäre ich sehr dankbar.
Artur
Das geht doch, sorry, hatte ich gar nicht mehr auf dem Schirm aber früher selbst mal so verwendet. Voraussetzung ist halt, dass Dein Switch an dem der Raspy hängt VLAN-fähig ist und korrekt dafür eingerichtet. Dann lässt sich für eine Hardware-Schnittstelle einrichten, dass sie für mehrere (V-)LAN verwendet wird. Kleines Beispiel habe ich hier gefunden.Gruss, Jürgen
-
v. 1.3.0
Das setzten von diesem Licht State
deconz.0.Lights.4.dimspeed
gibt folgende Warnmeldung(silly):
2020-03-15 11:45:20.576 - silly: deconz.0 (3415) States user redis pmessage io.deconz.0.*/io.deconz.0.Lights.4.dimspeed:{"val":25,"ack":false,"ts":1584269120574,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1584269061155} 2020-03-15 11:45:20.578 - debug: deconz.0 (3415) stateChange Lights.4 {"val":25,"ack":false,"ts":1584269120574,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1584269061155} 2020-03-15 11:45:20.579 - debug: deconz.0 (3415) dp: dimspeed; id:Lights.4 tmp: deconz,0,Lights,4 2020-03-15 11:45:20.588 - silly: deconz.0 (3415) States user redis pmessage io.deconz.0.*/io.deconz.0.Lights.4.dimspeed:{"val":25,"ack":true,"ts":1584269120583,"q":0,"from":"system.adapter.deconz.0","user":"system.user.admin","lc":1584269061155} 2020-03-15 11:45:20.589 - warn: deconz.0 (3415) Code 400: Bad request set light state 4: [{"error":{"address":"/lights/4/state","description":"body contains invalid JSON","type":2}}] 2020-03-15 11:45:20.698 - silly: deconz.0 (3415) States user redis pmessage io.deconz.0.*/io.deconz.0.Gateway_info.alive:{"val":true,"ack":true,"ts":1584269120697,"q":0,"from":"system.adapter.deconz.0","user":"system.user.admin","lc":1584269040818}
Ist eine Hue Lampe
-
Hallo zusammen. Ich bin gerade ein wenig verwirrt bei den ganzen Kommentaren. Ich verstehe das es die unterschiedlichsten Setups gibt. Aber in erster Linie muss der Adapter „nur“ eine HTTP und eine Websocket-Verbindung (WS) aufbauen. Alle Informationen die dafür nötig sind werden in den Adapter Einstellungen vorgenommen, bzw. beim Start vom config endpoint abgeholt.
Was ich bisher rauslesen konnte ist das bei vielen Leuten WS nicht zustande kommt und somit Updates, wie bspw. von Sensoren, nicht in iobroker aktualisiert werden.
SSDP wird seit den neueren Versionen des Adapters verwendet um WS zu initialisieren. So nach dem Motto, wenn Deconz sich über SSDP meldet, dann ist die Anwendung da und WS aufzubauen macht Sinn. Meldet sich deconz nicht, so wie bei mir, da ich SSDP deaktiviert habe, dann passiert nichts.
Obwohl ich diese Lösung einerseits elegant finde dient sie „nur“ dafür eine kaputte WS Verbindung wiederherzustellen. Wenn die Verbindung mal zustande kommt wird diese jede Minute (Timer) neu aufgebaut. Also ein weiterer Mechanismus um eine kaputte WS Verbindung zu beheben.
Ich würde nur letzteren Mechanismus verwenden. SSDP hat einen anderen Zweck und kann unter Umständen nicht funktionieren (Netzwerk Setup) oder aber auch explizit deaktiviert werden. Mir gefällt zwar auch die Timerlösung nicht ganz, aber da Deconz es versäumt hat ein Feature zu implementieren scheint es keine bessere Lösung zu geben.
Das Netzwerk Setup für den Adapter anzupassen finde ich ehrlich gesagt unnötig und sollte doch auch nicht das Ziel sein. Solange für den Benutzer Deconz in dem Setup funktioniert wie gewünscht, dann sollte auch der Adapter soweit es geht damit umgehen können.
Falls ich etwas falsch interpretiert habe bitte korrigieren.
-
-
Die 1.3.1 Steht jetzt zur Verfügung, bitte Testen ob es jetzt. Bei mir läuft deConz ausschließlich Produktiv und so kann ich das nicht Nachstellen.
-
-
@Jey-Cee
Wie soll .dimspeed funktionieren?Hab gerade versucht wie lange die Lampe braucht um bei .dimpseed 60 von .bri 1 auf 255 zu gehen. War sofort auf 255. Selbe mit hue.
-
@ticaki was du suchst ist transitiontime. dimspeed gibt die Schrittanzahl an für dimup und dimdown.
-
@Jey-Cee
Ups... Danke für die Korrektur, ist doch etwas zu lange her, dass ich dimspeed und transitionstime in Skripten verwendet habe. -
Hallo zusammen,
Bin seit einigen Tagen mit dem Thema am kämpfen.
Folgende Situation, ioBroker auf Synology im Docker per macvlan, Deconz auf Raspberry 4.
Lief meine ich alles gut, mit Adapter version 1.3.0
Adapter grün aber mit der Fehlermeldung (1046) Code 404: Ressource not found get devices: []
Da ich mich noch am einarbeiten bin beim ioBroker weiß ich nicht ob die Daten richtig kamen.
Nun hab ich den RaspBee 2 bekommen, weshalb ich Deconz neu aufgesetzt habe und alles neu eingerichtet habe, und seit dem bekam ich den Adapter nicht mehr grün. Nach vielen hin und her und mit direktem installieren von 1.3.1 wird er grün, aber aktualisiert keine werte im ioBroker, die Steuerung von da ist ok.Gruß Christian