Jalousieaktor HM-LC-Bl1PBU-FM - Reaktion auf Peer unklar - BUG ??

Begonnen von pwlr, 20 Mai 2018, 21:16:50

Vorheriges Thema - Nächstes Thema

pwlr

Hallo Martin,
ZitatIch werde die jumptable noch einmal prüfen. die adressen sind aber für alle aktoren nahezu identisch.
Danke !

Ich habe mir zwischenzeitlich mit cmdalias einen Workaround eingebaut

Internals:
   ALIAS      set
   CFGFN     
   DEF        set Jalousie_EG.* off AS set $EVTPART0 pressS self01
   NAME       cmdalias_Jalousie_off
   NEWCMD     set $EVTPART0 pressS self01
   NR         247906
   PARAM      Jalousie_EG.* off
   STATE      defined
   TYPE       cmdalias
Attributes:
   comment    Workaround für fehlerhaften set Jalousie.* off (damit werden die Peers teilweise blockiert)
   disable    0
   group      command_alias
   room       -System


Damit werden meine Jalousien dann Device-intern nur noch über Statemachines gesteuert. Self01 und self02 sind bei mir eh als Start-Stopp-Taste programmiert und funktionieren wie ein set on oder set off.

Die Sache mi den Templates ist wirklich interessant. Ich habe alles installiert und werde in einer ruhigen Minute üben, um Sicherheit zu bekommen.
Ich habe mir schon vor Jahren eine Excel für die Registerprogrammierung geschrieben. Die Kommunikation von Excel auf meinem Windows-Rechner mit fhem erfolgt via Network.
Dann Auswahl eines Peer, sh/lg und bildliche Darstellung der Statemachine mit dem typischen "Kreisverkehr". Die Register und deren Werte sind in "Blöcken" zusammengefasst. Für off beispielsweise shOffTime-shCtOff-shBIJtOff. So kann man gut die Gesamtfunktion eines Peers erkennen. Ein Bild sagt mehr als 1000 Worte.....
Werteänderungen gehen dann wieder via Network von Excel an fhem.

Funktioniert ganz gut, aber wohl nur für meine HM-Devices. Aus Sicht von fhem ist es also nur eine Teilmenge. Weiterer Nachteil, ich brauche eine Excel je Device (Kanal).

Nochmals Danke für Deine Bemühungen - ich bin auf Dein Analyseergebnis gespannt !

Moin
Bernd








martinp876

habe es geprüft - alles ok.
Das (ein) Problem beim Rollo ist - wie schon erwähnt - die besondere Stellung von State 'on' und 'off'.
Bei typischen Aktoren (licht, Schalter) ist 'on'  Spannung anliegt. Also Licht brennt => wir sind in on oder dlyOff.

Beim Rollo gehen wir nach "on" wenn der Level in der letzten Aktion erhöht wurde.
Beachte:
100% = Rollo eingefahren = Fenster offen
0% = Rollo ausgefahren = Fenster zu
Inverslevel wird hier nicht angewendet (habe ich explizit ausgeschlossen) - das dreht die %-Darstellung im Frontend und in der Kommandosteuerung. Nicht aber auf Registerlevel!

Beim Dimmer habe ich es nun nicht geprüft - sollte aber ebenso sein: On ist der (typisch) stabile Zutand nach dem erhöhen des Level. Off nach reduzieren des Level.
=> Leider kann ich den State dem Device nicht explizit entlocken.

Zusammenfassend: Der State bei level 30% kann sowohl on alsauch off sein (oder einer der temporären wie dlyOn dlyOff oder transienten wie rampOn, rampOff)

Bei 100% oder 0% sollte aber alles klar sein.

Zu den Templates vs deiner Excel Darstellung:
- eine Grafische Darstellung kann ich nicht bieten - ist aber (ganz) sicher sehr hilfreich
- die Gruppierung habe ich bei der Namensgebung bedacht. Du hast eine andere vorgenommen  - wie man sieht ist es Anischtssache. Ich sehe die Gruppierung wie sie die Namen bieten aber immernoch als sinnvoll an. Gruppierung ist nach sh/lg dann erst einmal Ct - was über die Filterung entscheidet und dann Jt - was die Aktionen betrifft. Die übrigen sind nicht gruppiert.
- nachdem ich beim Editor HMtemplate mich komplett auf vorhandene FHEM frontend resourcen beschränkt habe ist eine weitere Gruppierung schlecht möglich.
- einen direkten Vergleich der Templates kann man in Excel sicher besser realisieren. Man könnte über eine Excel-gerechte Ausgabe der Templates nachdenken.

Features welche Excel nicht (ohne weitere ) bietet:
- Legt man ein eigenes - neues  - template an kann man erst einmal ein vorhandenes Device nehmen und alle Register "einlesen". Das ist dann die Ausgangsbasis
- man lösche die Register, welche man im Template nicht braucht oder nicht setzen will (optional)
- Die Eingabe von Literals wird durch eine Auswahlliste unterstützt. Man Ändert nun den Registerwert indem man den Wert (in den Attributen) aus einer Dropdown liste wählt. Geht nicht für "werte-eingaben".
- Ist man fertig speichert man das Template. Wird in "regConfig.cfg" gesichert, welches in HMInfo grundsätzlich verwaltet wird.
- nun kann man das Template einem Aktor zuweisen. Dazu erst einmal  das Template im Editor (ht) aktivieren (select). Man bekommt die Liste der "nutzer" angezeigt. Dann wählt man die "entity", also den Kanal, welchem man das Template zusweisen will über eine drop-down liste (enthalten sind nur entities, welche das Template auch unterstützen, also die Register des Templates auch haben!). danach muss man den "peer" wählen (so das template ein "peer-template" ist) - gleiche Methode, drop-down liste. Und schliesslich kann man auswählen ob es auf long oder short angewendet werden soll (so das Template ein peer template ist und nicht "both", also short UND long programmiert)
- nun könnte ein assiged kommen. Das Template wird assigned, die Register werden gesetzt.

Features welche den Excel auch nicht so einfach beherrscht:
- hm configCheck prüft, ob die Register entsprechend den Template gesetzt sind.
- du kannst ein Template editieren. Nach dem Speichern kannst du mit templateExe die Änderung bei allen assigned devices einspielen.
- solltest du ein Device austauschen (bspw defekt) kannst du das neue pairen und peeren. Dann die Templates zuweisen oder im Configfile ändern. Die Register werden dann alle gesetzt - mit templateExe

Auch wichtig: Du kannst parameter im Template definieren.  Das ist die nächste Stufe. Du willst bspw die ein Template welches lichter einschaltet (swOn) aber - damit keiner das Ausschalten vergisst soll nach 4h abgeschaltet werden. Ausser im Keller, da schon nach 1h. Also brauchst du ein template "autoOff <onTime>". Nun kannst du allen Lichtern dies zuweisen, die Ontime aber individuell schalten.

Ich nutze es bspw auch für die Fahrzeiten dern Rollos. Template BlSetDrive <upTime> <downTime> <backoffTime>.


pwlr

Moin Martin,
Zitathabe es geprüft - alles ok.

Danke und - schade, bleibt dann vermutlich wohl nur ein Firmware-Problem. Also bleibt mein Workaroud mit dem cmdalias drin.

Du hast absolut recht, meine Excel kann im Vergleich mit den Templates nicht bestehen ! Entstanden ist die Excel nur, weil ich die Statemachines zu meinem besseren Verständnis grafisch darstellen wollte und dann habe ich das Teil im Laufe der Zeit immer weiter "aufgebohrt".

Zitat- eine Grafische Darstellung kann ich nicht bieten - ist aber (ganz) sicher sehr hilfreich
Eigentlich müsste man doch das Standard-Design einer fhem-Seite auch ändern können.  Ich bin aber nun wirklich kein html-Programmierer, aber vielleicht geht es doch und man kann hier Vorteile miteinander verbinden. In der Anlage (nur zur Info) die Excelansicht als html-Datei. Die Funktionen sind in dieser Ansicht weg, aber das Übersichtsbild ist zu sehen.  Im rechten Bereich sind Hilfsfelder - nicht beachten. Die Registerwerte sind irgendein Teststand, auch nicht beachten.

Moin
Bernd

PS: hoffentlich klappt das mit der Anlage....


martinp876

Nun, ehrlich gesagt sagt mir deine Darstellung nicht zu. Ist aber absolut ok, jeder denkt etwas anders. Wenn du also damit zurecht kommst, prima.
Eins graphische darstellung der statemachine ist im einsteigerdoc.

Meine Gruppierung wäre: filterung, dann jt. Register als ring mit parametern darstellen, wie due abfolge ist.
In fhem geht alles. Mir ist der aufwand allerdings viel zu hoch. M.e macht man das nur selten. Es sollte/will auch nicht jeder.
Erstelle templates und verteile diese an freunde. Ist einfacher.