FS20 - Master Icon Status automatisch setzen

Begonnen von Neo, 19 Dezember 2016, 14:18:23

Vorheriges Thema - Nächstes Thema

Neo

Hallo, bin neu hier und begeistert von FHEM ... und natürlich erst in den Anfängen der Programmierung!

Nachdem ich jahrelang das FS20 System in Benutzung habe, kam nun Max! dazu. Und da kam der Gedanke, wie toll es wäre beide über einen Sender zu bedienen ... suchte im Netz und fand ... FHEM ... "Wie geil ist das denn?" ... von wegen mit einem Sender, nein hier ist eine andere Welt offen ... Wow! ... Und nun bin ich infiziert, brauche aber ein bisschen Zeit.

Mein ersten Beiträge werden natürlich Fragen sein, hoffe aber später selber Fragen beantworten zu können:

Habe die FS20 mit lokalen und globalem Master in FHEM versehen und funktioniert auch gut. Das heisst auch die Icons aktualisieren sich: wenn ich den globalen Master "off" sende, dann wird der Lämpchenstatus aller beteiligten Aktoren auf "off" ... so soll es sein!

Was jedoch nicht passiert, und wäre schön wenn es geht: Wenn man alle Aktoren einzeln ausschaltet, dann sollte am Ende auch das Lämpchen der globalen Master automatisch auf "off" gehen.

So ne Art "if-Bedingung": Wenn Status von Aktoren so und so sind, dann soll ein Icon-Status eines anderen Items wechseln.

Kann man das in FHEM programmieren?

Vielen Dank und viele Grüße,
Neo

rudolfkoenig

Geht nur indirekt/unschoen, das das FS20 Modul das nicht unterstuetzt.

Alternative: alle Geraete in einem Struktur zusammenfassen, da dieses Modul den Status verfolgt. Danach den Struktur-Status per notify/setstatus auf dem FS20 Geraet kopieren.

Neo

Dann muss ich erstmal lernen was Strukturen sind. Hoffe ich muss dann nicht alles umstellen und LMs,GM,FGs löschen.

Ist das prinzipiell nicht möglich, oder ist man dieses im FS20-Modul noch nicht nachgegangen?

Vielen Dank,
Neo

rudolfkoenig

Na prinzipiell ist alles moeglich, es ist nur eine Frage des Aufwandes :)
Es kam bisher keiner auf die Idee, und ich will mir das jetzt auch nicht antun.
Wenn jemand einen ueberschaubaren Patch liefert...

Neo

Ich habe das nur deshalb gefragt, weil ich eigentlich ein guter (MATLAB-) Programmierer bin und, warum nicht, ich das ja irgendwann mal, im FS20 Modul einbauen könnte um meinen Beitrag zu leisten :-).

Ich habe gerade gemerkt, dass das, was ich vorschlage, trotzdem nicht "straight forward" ist. Warum? Denn wenn eines der Aktoren, die zu einer GM-Adresse gehören anders ist als die anderen, dann ist der GM-Status weder "on" noch "off" sondern undefiniert.

Mein Vorschlag macht erst dann Sinn, wenn GMs,LMs,FGs einen dritten Zustand bekommen, also "on" "off" und sowas wie "indifferent".

Aber, um das ganze zu verstehen, muss ich erstmal probieren, kam dann auf die Idee über ein "notify" den Status der FG zu setzen, so:

   define WZ_Licht_Indifferent notify WZ_LichtFernseher setstate WZ_Licht $EVENT

funktioniert aber nicht (?).

Dann meine Frage: Kann man einem FS20 "Aktor" einen 3. Zustand zuordnen? Momentan hat mein "WZ_Licht", welches als FG drei Lampen steuert ja nur "On" und "Off".

Viele Grüße,
Neo

rudolfkoenig

structure beherrscht "indifferent" (es wird undefined genannt), spiel mal mit fhem.cfg.demo herum, da kann man das Verhalten gut sehen.
Weiss nicht was du genau mit zuordnen meinst, "setstate FS20Geraet indifferent" funktioniert, gerade getestet. Nicht zu verwechseln mit set, das ist eine andere Baustelle.

Neo

Das werde ich tun ... mit der Demo rumspielen ...

Es sieht so aus, als würde ich etwas mit den LMs,GM,FGs machen wollen, was in FHEM schon mit Strukturen realisiert ist.

Wahrscheinlich scheue ich den Aufwand um auf Strukturen umzustellen, was daheim bei mir seit Jahren in FS20 eben über LMs,GM,FGs gelöst ist.

Vielen lieben Dank nochmal und frohe Festtage,
Neo

rudolfkoenig

Stell nicht auf Struktur um, das benoetigt mehr Funk-Telegramme, dauert deswegen merklich laenger und kann beim Senden/Empfang mehr schiefgehen. Nur falls die on/off Anzeige dir wichtig ist, wuerde ich eine Struktur pro LM/GM/FG zum beobachten (nicht senden) definieren.

Neo

Ah, das ist gut zu wissen. Ich hatte es tatsächlich falsch verstanden. Danke nochmal!

Neo

Das war ja total einfach ... und ich hab mir schon in die Hosen gemacht ;-)

   define WZ_Licht_Struktur structure roomlight WZ_LichtFernseher WZ_LichtHintenRechts WZ_LichtHintenLinks
   define WZ_Licht_Status notify WZ_Licht_Struktur setstate WZ_Licht $EVENT


Das lässt sich schnell durchziehen durch mein FS20-System, muss halt nur konsistent nachziehen, sobald sich was ändert an der Konfiguration

Und ein weiteres "Dankeschön", habe heute viel gelernt!