[73_AutoShuttersControl.pm] - Version 0.8.x DEVEL, !!!FEATURE FREEZE!!!

Begonnen von CoolTux, 17 September 2019, 13:46:12

Vorheriges Thema - Nächstes Thema

Beta-User

Bei den CUL_HM ist das recht einfach, da sieht das z.B. so aus:
setstate Jalousie_Links 2019-09-20 06:34:06 motor stop:on Gibt also ein "motor"-Reading, das auf "stop.*" steht, wenn das Teil nicht fährt. Alles andere ist fahrend (error ausgenommen).

Bei meinem ZWave-Aktor (Fibaro FGR-223) kommt etwas verzögert eine Power-Meldung:
setstate Jalousie_WZ 2019-09-20 07:07:43 power 0 W

Alles andere als "0 W" bedeutet "fährt".

Allerdings befürchte ich, dass das mit den ZWave-Aktoren eine nicht triviale Sache ist, da macht einfach jeder Hersteller was anderes...



Was das Perl-Thema angeht, darfst du natürlich machen, wie du das als Entwickler für richtig findest. Aber bitte wundere dich später nicht darüber, wenn irgendwann noch andere das "main::"-Dingens nicht gut finden.

Wenn es möglich ist, Analyze...() zu nutzen, um "main::" nicht zu benötigen, dann würde ich das besser finden, selbst, wenn das etwas Overhead bedeutet (und Code-Überarbeitung, ist schon klar, dass du da jetzt schon anders gestartet bist).



Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

CoolTux

Dir ist schon klar das Du eine positive Nervensäge bist  ;D  ;D  :-*
Ich habe die Perlauswertung auf AnalyzePerlCommand umgebaut. Damit sollte ein main:: nicht mehr nötig sein das die Ausführung im Kontext der Fn AnalyzePerlCommand geschieht und die läuft unter main::


Grüße und Danke für Deine Hartnäckigkeit!
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Eine Idee wie man das Attribut nennen könnte wo der Readingsname und das ReadingValue für NICHT FAHREN drin steht?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

meier81

QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices || mehrere Homematic-IP und Homematic-Devices

CoolTux

Zitat von: meier81 am 20 September 2019, 08:58:18
Wie wäre es mit "ASC_noDriving" bzw. "ASC_noDrive" ?

Könnte Ich persönlich jetzt nichts mit anfangen. Das ganze gibt ja einen Status wieder. Eventuell sollte man State mit drin haben im Namen. ShutterDriveState oder so?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Beta-User

Vorab mal Danke für die Rückmeldung zu dem Perl-Thema :) .

Was das "nicht-Fahren" angeht: Da das mWn. nicht allzuviele Typen sind, sollte man das tendenziell modulintern lösen (mit einer lookup-Tabelle ähnlich der defaults für pct/dim..., z.B. für TYPE=>Model=>{regex=>moving/notmoving}, also gleich mit Unterscheidung, ob ein "Treffer" jetzt als Bewegung oder Stillstand bewertet werden soll).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

ESP_Fan

Zitat von: CoolTux am 20 September 2019, 06:27:38
Ich würde gerne einbauen das erkannt wird wenn ein Rollo gerade am fahren ist. Wie heißen da bei Euch so die Readings?
Das Rollo-Modul liefert kein Reading extra. Da wechselt einfach state auf drive-down bzw. drive-up.

CoolTux

Zitat von: Beta-User am 20 September 2019, 09:20:12
Vorab mal Danke für die Rückmeldung zu dem Perl-Thema :) .

Was das "nicht-Fahren" angeht: Da das mWn. nicht allzuviele Typen sind, sollte man das tendenziell modulintern lösen (mit einer lookup-Tabelle ähnlich der defaults für pct/dim..., z.B. für TYPE=>Model=>{regex=>moving/notmoving}, also gleich mit Unterscheidung, ob ein "Treffer" jetzt als Bewegung oder Stillstand bewertet werden soll).

Ich würde das gerne flexibel halten. Daher dachte ich an ein Attribut welches den Readingsnamen und ein Value beinhaltet. Das Value sollte das sein welches bei fährt gerade nicht drin steht.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Beta-User

Den Ansatz habe ich verstanden und es ist evtl. auch eine gute Idee, das _auch_ dem user (optional anzubieten).

Aber: Bei vielen verbreiteten Devices "wissen wir", wie man das bestimmt. Es ist eine weitere Fehlerquelle, die man vermeiden kann, wenn man die 95% der bekannten Fälle vorab abschichtet. Mehr Initialaufwand, weniger laufender Betreuungsaufwand, würde ich mal annehmen...

Bei dem CUL_HM ist der Wert übrigens nicht ganz fest, nur der "stop"-Präfix. Das sollte also tendenziell per regex-Matching verglichen werden, nicht per eq.

Namensvorschlag: ASC_idle_detection?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

kjmEjfu

Zitat von: CoolTux am 20 September 2019, 06:27:38
Ich würde gerne einbauen das erkannt wird wenn ein Rollo gerade am fahren ist. Wie heißen da bei Euch so die Readings?

also meine HM-LC-Bl1-FM per HMCCUDEV haben an der Stelle:

working mit yes oder no, dazu noch motor mit stop, up und down
Migriere derzeit zu Home Assistant

CoolTux

So ich habe jetzt mal ein Attribut für die Erkennung des NICHT fahrens eingefügt
ASC_Shutter_IdleDetection READING:VALUE

Das READING ist klar, ist das Reading welches Auskunft über eine Fahrt gibt. Und VALUE ist der Wert welcher sagt das das Rollo nicht fährt. RegEx ist beim Value möglich.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Kai-Alfonso

Zitat von: CoolTux am 20 September 2019, 13:59:10
So ich habe jetzt mal ein Attribut für die Erkennung des NICHT fahrens eingefügt
ASC_Shutter_IdleDetection READING:VALUE

Das READING ist klar, ist das Reading welches Auskunft über eine Fahrt gibt. Und VALUE ist der Wert welcher sagt das das Rollo nicht fährt. RegEx ist beim Value möglich.

Ich würde gerne PrivacyDown nutzen - das geht aber logischerweise nicht, wenn man zum runterfahren Brightness nutzt. Ich hatte es mal getestet, da fuhr zwar (sofern ich mich erinnere) die Rolllade in Privacy, aber dann glaub ich nicht in brightness fell below. (Ohne Gewähr) - kann man vielleicht Privacy umbauen, das man auch einen Zeitpunkt und/oder einen Brightnesswert festlegen kann?

Beispiel:

Privacy bei 20 Lux
Down bei 3 Lux

oder

Privacy um 20 Uhr (Wenn schon Down wegen Brightness, dann nix tun)
Down bei 3 Lux

Wäre das eine gute Idee?
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

CoolTux

Zitat von: Kai-Alfonso am 20 September 2019, 17:58:17
Ich würde gerne PrivacyDown nutzen - das geht aber logischerweise nicht, wenn man zum runterfahren Brightness nutzt. Ich hatte es mal getestet, da fuhr zwar (sofern ich mich erinnere) die Rolllade in Privacy, aber dann glaub ich nicht in brightness fell below. (Ohne Gewähr) - kann man vielleicht Privacy umbauen, das man auch einen Zeitpunkt und/oder einen Brightnesswert festlegen kann?

Beispiel:

Privacy bei 20 Lux
Down bei 3 Lux

oder

Privacy um 20 Uhr (Wenn schon Down wegen Brightness, dann nix tun)
Down bei 3 Lux

Wäre das eine gute Idee?

Den Wunsch gibt es auch von anderen und ich denke das ich da auch noch was machen werde bevor die 0.8er raus kommt.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Kai-Alfonso

Zitat von: CoolTux am 20 September 2019, 18:17:38
Den Wunsch gibt es auch von anderen und ich denke das ich da auch noch was machen werde bevor die 0.8er raus kommt.

Ach super - weil das ist grade im Wohnzimmer ein super Feature für mich   8) 8)

PS: Wegen der anderen Geschichte schaue ich heute mal, ob sie die Rollladen ungewöhnlich verhalten. Sofern ich das erkennen konnte, war heute morgen alles gut. selfDefense und Beschattung ein/aus hat auch funktioniert
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)