hue adapter

Wie man einen Adapter entwickelt, oder wie man debuggen kann.
Heinzelmaennchen
professional
Beiträge: 152
Registriert: 22.10.2014, 14:44

Re: hue adapter

Beitrag von Heinzelmaennchen » 07.01.2016, 12:22

Hallo,
Ich glaube nicht, dass das geht. Weil der Adapter beim Vorhandensein einer Gruppe diese dann auch in den Objekten anzeigen würde. Und die Gruppe 0 kann man glaube ich auch nicht auslesen oder bedienen.
Ich habe das über eine scene gelöst, in der einfach alle leuchtmittel drin sind. Das funzt prima.
Gruß
Bernhard

--------------------------------------------
263 Kanäle in 91 Geräten
3x Sonos Play:1, 1x Sonos:Amp, 1x Sonos Playbar
4x Hue E27, 21xHue GU10, 1x Lightify RGB Stripe, 1x Lightify E27 TW
--------------------------------------------

Pman
professional
Beiträge: 701
Registriert: 01.05.2015, 15:22

Re: hue adapter

Beitrag von Pman » 07.01.2016, 13:35

Die Gruppe 0 ist nicht implementiert, falls das überhaupt geht.
Du kannst kannst aber in Hue einfach eine Gruppe mit allen Lichtern erstellen, die wird dann angezeigt. Oder in ioBroker eine Scene, was aber mehr Kommunikation mit der Bridge erfordert und diese ist bei zu vielen Anfragen pro Sekunde überfordert -> Verzögerungen einbauen. Für Dinge wie "alle aus" eignet sich eine Hue-interne Gruppe besser, da dann die Bridge sicherstellt, dass alle Befehle ausgeführt werden.

soef
starter
Beiträge: 30
Registriert: 03.11.2015, 14:32

Re: hue adapter

Beitrag von soef » 07.01.2016, 16:15

Hallo,

bei der verwendeten Funktion api.getFullStates() wird die Gruppe 0 nicht zurückgegeben. Man könnte eine separate Anfrage per api.getAllGroups() stellen. Da aber in der Regel die Gruppe 0 statisch und immer vorhanden ist, könnte man sehr einfach in der main()-Funktion des Hue-Adapters folgendes unter die Zeile

Code: Alles auswählen

main()
        ...
        var groups = config.groups;
einfügen:

Code: Alles auswählen

        
        groups[0] = {
            name: "All",   //"Lightset 0"
            type: "LightGroup",
            id: 0,
            action: {
                lights: "ALL",
                alert: "select",
                bri: 0,
                colormode: "",
                ct: 0,
                effect: "none",
                hue: 0,
                on: false
            }
        }
Ich hoffe das hilft.

vader722
starter
Beiträge: 78
Registriert: 21.08.2014, 09:45

Re: hue adapter

Beitrag von vader722 » 09.01.2016, 19:49

Super!

So hatte ich mir das vorgestellt. So kann ich mit einem ioBroker Befehl alle hue's ausschalten (z.B. beim Haustür abschliessen) :)

Mit der Szene hatte ich das vorher gemacht, aber bei 20 Lichtern ist das relativ aufwändig und 20 Befehle zur Bridge sind irgendwie unelegant ;)
Da mein ioBroker sowieso ab einer gewissen Anzahl an Adaptern instabil läuft bin ich froh, wenn ich die Last etwas reduzieren kann.
Ich weiss nicht wie es bei Euch ist, aber der Raspi2 nagt bei mir am immer Speicherlimit. Ich hab schon einige Adapter deaktiviert, sonst crasht ioBroker jeden Tag.

Viele Dank für den hilfreichen Code, ich habe ihn bei mir mal in pman's Adapter eingefügt.

Gruss Marco

Pman
professional
Beiträge: 701
Registriert: 01.05.2015, 15:22

Re: hue adapter

Beitrag von Pman » 10.01.2016, 13:09

soef hat geschrieben:Hallo,

bei der verwendeten Funktion api.getFullStates() wird die Gruppe 0 nicht zurückgegeben. Man könnte eine separate Anfrage per api.getAllGroups() stellen. Da aber in der Regel die Gruppe 0 statisch und immer vorhanden ist, könnte man sehr einfach in der main()-Funktion des Hue-Adapters folgendes unter die Zeile

Code: Alles auswählen

main()
        ...
        var groups = config.groups;
einfügen:

Code: Alles auswählen

        
        groups[0] = {
            name: "All",   //"Lightset 0"
            type: "LightGroup",
            id: 0,
            action: {
                lights: "ALL",
                alert: "select",
                bri: 0,
                colormode: "",
                ct: 0,
                effect: "none",
                hue: 0,
                on: false
            }
        }
Ich hoffe das hilft.
Kannst du einen pull request mit den Änderungen machen?

soef
starter
Beiträge: 30
Registriert: 03.11.2015, 14:32

Re: hue adapter

Beitrag von soef » 17.01.2016, 12:53

Bluefox hat den Pull Request mittlerweile gemerged.

chaos99
professional
Beiträge: 117
Registriert: 06.03.2015, 16:30

Re: hue adapter

Beitrag von chaos99 » 25.01.2016, 07:14

Guten Morgen , kurz ne frage , wird die hü Bridge 2 auch unterstütz ?

Pman
professional
Beiträge: 701
Registriert: 01.05.2015, 15:22

Re: hue adapter

Beitrag von Pman » 25.01.2016, 11:53

Habe keine zum Testen da, sollte aber AFAIK die selbe API haben.

vader722
starter
Beiträge: 78
Registriert: 21.08.2014, 09:45

Re: hue adapter

Beitrag von vader722 » 25.01.2016, 12:55

Ich benutze die Hue Bridge 2.0. Funktioniert ohne Probleme (ist ja auch die gleich API).

Gruss Marco

Phteven
starter
Beiträge: 16
Registriert: 18.02.2016, 14:13

Re: hue adapter

Beitrag von Phteven » 18.02.2016, 14:32

Hallo,

ich bin derzeit dabei von ccu.io auf ioBroker zu migrieren und vermisse schmerzlich das hue widget "hue_ctrl - jqui Dialog HUE_EXTENDED_COLOR_LIGHT", welches es für dashUI gibt.

Ich habe nun versucht dieses widget für vis selber zu erstellen (mit der Modifikation, dass die Hintergrundfarbe des widget buttons der eingestellten Farbe der hue Lampe entspricht). Hat auch soweit ganz gut geklappt...

Das Einzige was derzeit nicht funktioniert, ist die Anzeige bzw. das Initialisieren der eingestellten Werte, nach dem ersten Laden der View.
Wenn ich den Dialog nach dem Laden der View öffne sieht es so aus wie auf dem angehängten screenshot.
Alles steht auf 0 bzw hat einen undefinierten Wert, obwohl die hue Objekte sehr wohl einen Wert beinhalten.
Sobald ich einen Zustand verändere (z.B manuell in der Zustands-Liste der ioBroker Oberfläche) wird dieser eingestellte Wert dann auch richtig in dem Widget Dialog angezeigt.

Hat jemand einen Rat für mich wie ich dieses initialisieren hinbekommen kann?
Dateianhänge
hueDialog.png
hueDialog.png (72.35 KiB) 2353 mal betrachtet

pepp86
starter
Beiträge: 45
Registriert: 09.04.2016, 06:54

Re: hue adapter

Beitrag von pepp86 » 18.05.2016, 18:22

Hallo,

ich weiß, dass der Thread schon eine weile inaktiv ist.

Ich habe seit heute zwei Lightify Steckdosen an der Hue Bridge angemeldet. Via App kann ich die auch korrekt steuern. Im Adapter sind die Datenpunkte alle da und werden auch aktualisiert.

Aber wenn ich jetzt aus ioBroker heraus die Steckdose schalten will geht sie kurz an und wird dann wieder ausgeschaltet weil der Adapter zwingend irgendwelche werte schreiben will (zB den bri Wert) die für die Steckdose aber nicht vorhanden sind. Api meldet Fehler dass der bri wert nicht vorhanden ist. Und dann wird on auf false gesetzt.

Wenn weitere Informationen benötigt werden liefere ich die gerne nach.

Danke.


Gesendet von iPhone mit Tapatalk

pepp86
starter
Beiträge: 45
Registriert: 09.04.2016, 06:54

Re: hue adapter

Beitrag von pepp86 » 19.05.2016, 12:59

Hier habe ich jetzt noch einen Screenshot aus dem Log. Die Steckdose geht an, und kurz danach wieder aus.
Dateianhänge
hue_log.PNG
hue_log.PNG (6.79 KiB) 1571 mal betrachtet

Pman
professional
Beiträge: 701
Registriert: 01.05.2015, 15:22

Re: hue adapter

Beitrag von Pman » 19.05.2016, 17:03

Da brauchst du im Moment nicht weiter probieren, der Adapter kann ausschließlich Lampen steuern. Da ich keine HUE Steckdosen habe kann ich es leider nicht implementieren.

pepp86
starter
Beiträge: 45
Registriert: 09.04.2016, 06:54

Re: hue adapter

Beitrag von pepp86 » 19.05.2016, 17:05

Ok. Also ein generelles Problem.

Hast du eine Idee woran es liegt? Bin mit meinen javascript fähigkeiten mal in den Adapter und habe geschaut, denn schalten tut er die Steckdose ja.
Oder liegt es an der verwendeten Api? Eine der Komponenten baut den final lightState ja falsch um. Meine Vermutung ist, wenn man "bri" nicht mitsendet, dass es dann geht.

Oder liege ich falsch?

Kann dich gerne mit Daten versorgen oder testen wenn das bei der Implementierung hilft?!

Pman
professional
Beiträge: 701
Registriert: 01.05.2015, 15:22

Re: hue adapter

Beitrag von Pman » 19.05.2016, 21:15

Der Adapter nutzt die hue-node-api, dort werden so weit ich weiß auch schon keine switches unterstützt. Welche states wurden für den switch in ioBroker angelegt?

pepp86
starter
Beiträge: 45
Registriert: 09.04.2016, 06:54

Re: hue adapter

Beitrag von pepp86 » 19.05.2016, 21:53

Hier die States.

Ausschalten klappt übrigens wunderbar
Dateianhänge
hue_states.PNG

Pman
professional
Beiträge: 701
Registriert: 01.05.2015, 15:22

Re: hue adapter

Beitrag von Pman » 19.05.2016, 21:56

Kannst du auch mal alles aus dem raw-tab aus dem Steckdose_Vitrine-Channel hier her kopieren?

pepp86
starter
Beiträge: 45
Registriert: 09.04.2016, 06:54

Re: hue adapter

Beitrag von pepp86 » 20.05.2016, 07:05

Hier der Inhalt von dem Channel

{
"common": {
"name": "Philips_hue.Steckdose_Vitrine",
"role": "light.color"
},
"native": {
"id": "5",
"type": "On/Off plug-in unit",
"name": "Steckdose Vitrine",
"modelid": "Plug 01",
"swversion": "V1.04.12"
},
"acl": {
"object": 1638,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
},
"_id": "hue.0.Philips_hue.Steckdose_Vitrine",
"type": "channel"
}

Pman
professional
Beiträge: 701
Registriert: 01.05.2015, 15:22

Re: hue adapter

Beitrag von Pman » 20.05.2016, 10:21

Bitte den Adapter mal von hier installieren:

Code: Alles auswählen

https://github.com/Pmant/ioBroker.hue
Vorher den alten Adapter deinstallieren und falls nötig noch alle Datenpunkte unter hue.0 löschen.

pepp86
starter
Beiträge: 45
Registriert: 09.04.2016, 06:54

Re: hue adapter

Beitrag von pepp86 » 20.05.2016, 11:00

Also jetzt werden die States auf jeden Fall "korrekt" angelegt.

Hier der raw code vom Objekt
{
"common": {
"name": "Philips_hue.Steckdose_Vitrine",
"role": "switch"
},
"native": {
"id": "5",
"type": "On/Off plug-in unit",
"name": "Steckdose Vitrine",
"modelid": "Plug 01",
"swversion": "V1.04.12"
},
"acl": {
"object": 1638,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
},
"_id": "hue.0.Philips_hue.Steckdose_Vitrine",
"type": "channel"
}

Allerdings taucht im Log beim Schalten von "on" auf true immer noch folgender Eintrag auf:
hue-0 2016-05-20 11:56:20 info final lightState: {"bri":0,"on":false,"level":0}

Die Steckdose schaltet gar nicht. Auch ein geschalteter Status wird nicht angezeigt. Also wenn ich über die hue app die Steckdose schalte.
Dateianhänge
hue_states.PNG

Antworten