Hallo zusammen,
habe nun meine ersten Schritte hinter mir und bin nun ein wenig damit beschäftigt mein FHEM aufzuräumen und den ganzen Murks den ich anfangs gemacht nun ordentlich zu machen.
Ordentlich bedeutet für mich:
- stabil
- performant
- wartbar
Zum einen ist mir aufgefallen, das notifies recht langsam laufen(70-100ms), daher habe ich schon angefangen hier teilweise auf event-on-change/update umzustellen.
Was mir aber noch nicht so ganz klar ist, ist die Frage wie man FHEM "gut" programmiert/konfiguriert.
Hierzu eine konkretes beispiel mit meiner HM-RC-19
Anwendungsfall:
einige Tasten schalten einfach Lightscenes um oder setzen dummies (bsp. für die Heizungssteuerung die dann weiterverarbeitet werden ggf. mit optischer/akustischer Rückmeldung)
Hier schon der erste unterschied Lightscenes sind in meinen augen Zeitkritisch, die Heizungssteuerung eher nicht.
Ein Tastenpaar nutze ich um die eingeschalteten HUE_Lampen zu ändern:
- Taste 1 Lang: umschalten von bri/hue/sat inklusive anzeige im Display
- Taste 1/2 kurz: bri/hue/sat plus/minus
- Taste 2 Lang: maximalWert/minimalWert je nachdem aktuellem bri/hue/sat
Ein Keymatic Türschloss sowie einen kleinen aktor den ich in die Klingel löten möchte (ist getestet, Spannungswandler ist wohl in der Post), der anschließend die Haustür öffnet. Beim direkten peeren mit dem Keymatic schloss, kann ich das Tastenpaar aber nicht frei definieren sondern habe die vorgabe von der keymatic zu nehmen oder?
Direktes Pairen mit Dummies ist notwendig um ein ACK zu bekommen. Habe noch nicht getestet, aber ich habe eine eine Taste die je nachdem ob ich in einer Sekunde 1/2/3 mal Drücke anders schaltet, würde das vorraussichtlich auch mit dem direkten Pairen und dem ACK dazwischen auch noch klappen?
Bei einem Long Tastendruck sendet die FB den Befehl wiederholt, habe mir einen wrapper geschrieben, der alle Folgebefehle ignoriert. habe auch schon über ein event-min-interval, aber dann wären auch keine kurzen Tastendrücke hintereinander möglich
Wer bis hierher gelesen hat kann mir bestimmt auch bei meiner Hauptfrage helfen:
Ist es Sinnvoller ein notify für die Fernbedienung zu schreiben und im notify mit "if" auf die Taste und Short/Long zu prüfen oder ein notify je Taste?
Zwei extremfälle wären ein einzelnes notify für alles oder 38 notifies (je Taste kurz/lang) aber was ist Sinnvoller/schneller - funktionieren wird ja beides.
Und noch eine letzte Frage bevor ich rumprobiere und mir im zweifel das system zerschieße:
Kann ich /opt/fhem einfach in den ordner /opt/fhem-dev kopieren und dann entweder abwechselnd oder mit anderen ports parallel betreiben, um eine spielumgebung zu haben?
Oder doch lieber ein zweiten RasbPI kaufen?
Das wars jetzt aber! Vielen dank für alle die bis hierher gelesen haben.
Bin mal auf die Antworten gespannt würde mir ggf. viel "forschungsarbeit" Sparen.
Gruß
Benny
P.S.: 100ms Sekunden sind nicht lang, wenn jedoch gewisse Geräte 10 Events erzeugen oder 10 Lampen
geschaltet werden sollen, die Dann jeweils 2-3 Events erzeugen auf Grund geänderter Werte.
und dann am besten noch alles gleichzeitig passiert, dann dauert es schonmal 4-5 Sekunden bis
irgendwas passiert.