Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollo Position einer Gruppe #426

Open
Baenker opened this issue Mar 25, 2020 · 6 comments
Open

Rollo Position einer Gruppe #426

Baenker opened this issue Mar 25, 2020 · 6 comments
Assignees
Labels

Comments

@Baenker
Copy link

Baenker commented Mar 25, 2020

ich habe mal wieder ein Problem. Ich nutze Rollos in einer Gruppe. Über ein Script lasse ich alle Rollos runterfahren z. B. auf 40% (mache ich über den Datenpunkt der Gruppe, der Datenpunkt zeigt hinterher entsprechnd 40% und auch die Datenpunkte der einzelnen Gruppenmitglieder steht danach auf 40%). Wenn ich später nur ein Rollo weiter runter fahre z. B. auf 20% (egal ob über den Datenpunkt von dem einzelnen Rollo oder über die App ist danach der Wert der Gruppe "leer". Der Datenpunkt von den vier übrigen Gruppenmitgliedern steht auf 40% das andere auf 20%.

Installiert habe ich die aktuelle Version 2.60

@AlCalzone
Copy link
Owner

Ja, das ist bewusst so. Da die App keine Daten zur Gruppe sendet, musste ich mir hier also etwas sinnvolles überlegen.

In den Gruppen wird der Status angezeigt, den alle Geräte der Gruppe gemein haben. Sobald ein Rollo auf einen anderen Punkt fährt, gibt es diese Gemeinsamkeit nicht mehr.

@AlCalzone AlCalzone self-assigned this Mar 25, 2020
@Baenker
Copy link
Author

Baenker commented Mar 25, 2020

Die Erklärung ist zwar nachvollziehbar aber das verursacht dann Scriptfehler (Warnings im log) wenn ich den gemeinsamen Status mittels getState abfrage "tradfri.0.G-xxx.position" not found.
Ein Blick in die IKEA-App zeigt ein anderes Verhalten. Dort wird mir der Status in etwa so angezeigt (4 x 40 + 1 x 20 / 5. Ich denke das die Rollos selber unterschiedlich stehen müssen muss der User in seinen Script selber abfangen

@AlCalzone
Copy link
Owner

Die Skriptfehler kannst du mit existsState abfangen.

Abgesehen davon bin ich für Änderungen offen. Teilweise macht der Mittelwert durchaus Sinn:

Wert Sinnhaftigkeit
An/Aus nein
Helligkeit, Position ja
Sättigung vielleicht
Hue nein, der Mittelwert von Rot und einem anderen Rot ist nicht grün
Farbtemperatur vielleicht

Ich sehe nur schon die Issues in Zukunft, wenn ich manche States mittle und manche nicht.

@Baenker
Copy link
Author

Baenker commented Mar 25, 2020

Ja das kann natürlich passieren. Mir ist gerade noch etwa anderes eingefallen. Wie wäre es denn mit einen zusätzlichen Objekt Members_blind_equal oder so mit true/false? Wenn ich drüber nachdenke wahrscheinlich aber auch keine gute Idee, da man dann vermutlich das ganze auch für Helligkeit, Sättigung usw machen müsste.
Mittelwert bei An/Aus ist natürlich Käse aber egal welchen Wert man dort nimmt. Irgendwer wird immer meckern. Da Du Entwickler bist hast Du den Vorteil das Du es so machen kannst wie es Dir am Besten gefällt :-) Wie ich schon oben schrieb kann ich die Begründung ja absolut verstehen. Du könntest es ja auch einfach in die Beschreibung aufnehmen das Du die Gruppenobjekte immer leer machst wenn sie unterschiedlich sind. Ich versuche mal mein Warning abzufangen.

Auf jeden Fall nochmal Danke für den Adapter und Deiner Geduld :-) Du darfst den Issue gerne zumachen, da es ja kein Fehler ist sondern eigentlich genauso arbeitet wie Du es programmiert hast...

@AlCalzone
Copy link
Owner

Ich denke nochmal drüber nach, so lange bleibt das Issue offen :)

@Baenker
Copy link
Author

Baenker commented Mar 25, 2020

Falls mal jemand auch das Problem hat und hier zufällig per google draufstösst:

var Rollo = existsState(id_Rollo) ? getState(id_Rollo).val : ((Rollo_1 + Rollo_2 + Rollo_3 + Rollo_4 + Rollo_5) /5);

Ich definiere nun den Gesamtstatus so: Wenn der State existiert nimm den ansonsten rechne einen Mittelwert der Gruppenmitglieder. Wenn nun der Wert vom Rollo ungleich der einzelnen Werte ist steuert das Script die Rollos ggf einzeln und nicht über die Gruppe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants