on-for-timer / Abschaltung vorzeitig abbrechen

Begonnen von starmind, 27 Oktober 2015, 19:11:57

Vorheriges Thema - Nächstes Thema

starmind

Hallo,

ich habe einen Bewegungsmelder mit dem ich unter anderem mehrere Lampen anschalte, z.B. mit:


[...]
set hue_dimmer_1 on-for-timer 300
[...]


Kommt jemand zwischenzeitlich auf die Idee das Licht "richtig" anzuschalten, wird aber der Timer nicht beendet und die Lichter gehen wieder aus. Gibt es dazu eine Lösung?

Vielen Dank,
Marcus

Bennemannc

Hallo,

also bei HM geht das. On-for-timer läuft und on wird gesendet => dauerhaft on. Das wird anscheinend in dem Modul geregelt. Spreche doch mal den Modulentwickler darauf an.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

starmind

Danke für den Hinweis, hab mittlerweile herausgefunden, dass sich der Timer mit

set hue_dimmer_1 on-for-timer 0

löschen lässt.

Gruß, Marcus

Bennemannc

Hallo,

trotzdem würde ich dem Maintainer des Moduls mal ansprechen ob es nicht sinnig ist, dass in das Modul herein zu programmieren. Mit Deiner Variante musst Du ja zwei Befehle absetzen - on-for-timer 0 und on. Von der Logik (meiner Meinung nach) gehört das in das Modul.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

starmind

Hallo,

wo du Rech hast...

Ich bin leider ein Noob, in der HUEDevice ist justme1968 referenziert, vermutlich ist das der Maintainer. Wie läuft das hier, einfach ne PM oder habt ihr eine spezielle Sektion für "An die Entwickler herantreten".

Danke, Marcus

Bennemannc

Hallo,

normalerweise lesen die Maintainer in "ihrem" Bereich mit. Die allgemeinen Anfängerfragen werden nicht immer gelesen. Wenn Du mal schaust was hier abgeht wäre das auch etwas viel verlangt. Ich würde eine PM senden und einfach den Link zu diesem Threat (aus dem Webbrowser kopieren) anhängen. Dann hat er die Möglichkeit das zu lesen und seine Meinung dazu zu äußern.
Im Moment ist justme1968 stark mit "Homebridge" beschäftigt  ;) - und nicht nur da... 8)

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

starmind

Hallo,

danke für den Hinweis, PM ist raus. Hab mir selber schon mal kurz Gedanken gemacht, so wies auf die Schnelle ausschaut ist das in SetExtensions.pm implementiert und bedient sich einer Methode namens InternalTimer, die vermutlich den Befehl zur späteren Ausführung registriert. Mit RemoveInternalTimer kann man, denke ich, den Befehl aus der Queue werfen. Solange die Schaltbefehle aus FHEM kommen ist das sicher in der simpelsten Variante möglich, bei jedem set RemoveInternalTimer(...) abzusetzen. Aber was, wenn ich die Lichter mit der "HUE-Fernbedienung" schalte...?

Naja, wohl eher nix für einen Noob.

Gn8, Marcus

justme1968

ich habe mir das ganze eben kurz angeschaut und gesehen das es alle module betrifft die die SetExtentions verwenden um on-for-timer & blink zu implementieren. also z.b. auch IT, EnOcean, und 10 andere module.

homematic und FS20 sind deshalb nicht betroffen weil sie interne timer in der hardware haben und so automatisch beim schalten auf irgend etwas anderes den timer zurück setzen.

der fhem interne timer aus den SetExtentions bekommt vom anderweitig schalten aber nichts mit.

ich hab mal was eingebaut das diesen timer bei einem neuen set beendet. schau mal morgen ob es so geht wie du es dir vorstellst.

was du aber auf keinen fall abfangen kannst ist das schalten über einen externen schalter oder eine fernbedienung. dafür gibt es durch das pollen auch keine wirklich zuverlässige lösung.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Bennemannc

Hallo,

dann wirst Du vermutlich nicht darum herum kommen ein notify zu bauen was bei Schalten mit der Fernbedienung "RemoveInternalTimer" absetzt.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Damian

Hier mal eine Softwarelösung:

define di DOIF ([BW:?motion]) (set hue_dimmer_1 on) (set hue_dimmer_1 off)
DOELSEIF ([FB] eq "off") (set hue_dimmer_1 off)
DOELSEIF ([FB] eq "on") (set hue_dimmer_1 on)

attr di do resetwait
attr di wait 0,300


Hierbei wird der interne Timer automatisch gelöscht. Eine Bewegung verlängert die Ausschaltzeit ohne zusätzlich on zu schalten.

Gruß
Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

justme1968

nein. das geht hier leider nicht da die hue fb nicht direkt empfangen wird.  beim pollen ändert sich einfach der status der lampe ohne das sie aus FHEM geschaltet wurde. man könnte jetzt ein reading bauen das den zeitpunkt des letzen sendens/kommandos aus fhem entält und schauen ob sich der zustand ändert ohne das sich der timestamp geändert hat.

das würde z.b. für fs20 funktionieren da fhem hier die fb direkt empfängt.

durch die verzögerung die beim pollen entsteht wäre das  für die hue lampen aber nicht zuverlässig.

homematic hat das problem nicht da FHEM das schalten mit der fb vom schalten des aktors unterscheiden kann. 

so lange phillips kein push api zur verfügung stellt gibt es für diesen teil keine lösung. und selbst dann weiß ich nicht wie gut es funktionieren würde da die fb die lampen direkt schaltet und die bridge den internen lampenstatus  scheinbar nur verzögert aktualisiert.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

frank

so wie ich das sehe, funktioniert es bei homematic, da im aktor sämtliche befehle als timerbefehle behandelt werden und bei jedem befehl der timer konfiguriert und neu gestartet wird. bei on/off ist der timer unendlich.

hue scheint hier unterschiedlich zu verfahren. ich kenne jetzt nicht den timerbereich, aber theoretisch könnte es vielleicht funktionieren, wenn man grundsätzlich mit timer schaltet. also nicht on/off setzt sondern on-for-timer-max/null. das könnte den bisherigen, laufenden timer eventuell zurücksetzen.

alle direkten verbindungen (zb fb), die keinen timer unterstützen, müssen dann eben den umweg über fhem nehmen. wenn die original fb nicht mit fhem funktioniert, nimmt man eine andere.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

justme1968

ja. homematic und fs20 timer hatte ich oben schon beschrieben.

die bridge hat zwar theoretisch auch timer aber die werden nicht durch das normale schalten zurück gesetzt. nützt also nichts.

das problem mit anderen fernbedienungen ist das es keine gibt die auch farben können :)

die einzige lösung wäre ein zigbee empfänger der die fernbedienung direkt auswerten kann. das gibt es aber (noch ?) nicht.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

starmind

Danke justme1968 für die Änderung, ein nachträgliches set scheint jetzt den Timer abzuräumen. Das ist schon mal die halbe Miete, auch wenn das Problem, mit der Erkennung einer Schaltung per hue-FB wahrscheinlich nicht so schnell gelöst werden kann.

Gruß, Marcus