#gelöst# Homebridge/Homekit und DummySchalter mit on-for-timer

Begonnen von Helmi55, 20 Juni 2019, 12:56:13

Vorheriges Thema - Nächstes Thema

Helmi55

Hallo
ich habe einen Dummy mit dem ich meinem Garagentor einen 0.25 SekImpuls schicken kann.
Nur komme ich mit dem Mapping nicht zusammen? Der Dummy bleibt in der HomeKit App am iPhone immer auf on
Hier das List vom dummy
Internals:
   CFGFN     
   FUUID      5d08725c-f33f-ee2d-1f48-37c5a270df825bc7
   NAME       du_GTO
   NR         9383
   STATE      off
   TYPE       dummy
   READINGS:
     2019-06-20 12:49:04   state           off
Attributes:
   alias      GTO
   genericDeviceType switch
   homebridgeMapping /on=cmdOn=on-for-timer+0.25/
   room       Garage,Homekit
   setList    on off
   webCmd     on


Der Schalter in fhem setzt sich zurück durch das DOIF das den Befehl an den 2ten Pi in der Garage schickt (HomeKit ist am ersten Pi im Haus installiert)

#Hier das DOIF
Internals:
   DEF        ([du_GTO:"on"]) (set FHEMGarage cmd set GaragenTorAntrieb on, set du_GTO off) DOELSE
   FUUID      5d067155-f33f-ee2d-0885-454ff01a1a955076
   FVERSION   98_DOIF.pm:0.193030/2019-05-01
   MODEL      FHEM
   NAME       di_Garagentorantrieb
   NR         590
   NTFY_ORDER 50-di_Garagentorantrieb
   STATE      cmd_1
   TYPE       DOIF
   VERSION    19303 2019-05-01 08:47:16
   READINGS:
     2019-06-20 12:49:04   Device          du_GTO
     2019-06-20 12:49:04   cmd             1
     2019-06-20 12:49:04   cmd_event       du_GTO
     2019-06-20 12:49:04   cmd_nr          1
     2019-06-20 12:49:04   e_du_GTO_events on
     2019-06-20 12:45:34   mode            enabled
     2019-06-20 12:49:04   state           cmd_1
   Regex:
     accu:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::EventDoIf('du_GTO',$hash,'on',1)
   devices:
     0           du_GTO
     all         du_GTO
   do:
     0:
       0          set FHEMGarage cmd set GaragenTorAntrieb on, set du_GTO off
     1:
       0         
   helper:
     event      on
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   du_GTO
     timerevent on
     triggerDev du_GTO
     DOIF_eventas:
       cmd_nr: 1
       cmd: 1
       cmd_event: du_GTO
       state: cmd_1
     timerevents:
       on
       off
     timereventsState:
       state: on
     triggerEvents:
       on
       off
     triggerEventsState:
       state: on
   internals:
   itimer:
   readings:
   trigger:
     all         du_GTO
   uiState:
   uiTable:
Attributes:
   do         always
   room       Garage


Danke für eure Hilfe. Möchte es gerne auf der neuen Watch4 nutzen um so meine Garage zu öffnen.


PS gerade eben aufgefallen. Wenn ich die APP rauswische-neustarte. dann erst ändert sich der Status vom dummy???

Gruß
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

TomLee

#1
attr du_GTO homebridgeMapping clear On=state,valueOn=on,cmdOn=on-for-timer+1,cmdOff=off

und useSetExtensions aktivieren, aktuell setzt das DOIF den Dummy auf off und kein Timer.

Gruß

Thomas

Helmi55

Hallo Thomas

Danke für deine Hilfe - nur das Icon in der Home App am iPhone stellt sich nicht auf off zurück. erst wenn ich die App schließe und neu öffne wird das wirksam?
Ja die Schaltung funktioniert aber es wäre schöner wenn sich auch der Schalter in der HomeApp zurücksetzen würde
hier das aktuelle list vom dummy
Internals:
   CFGFN     
   FUUID      5d08725c-f33f-ee2d-1f48-37c5a270df825bc7
   NAME       du_GTO
   NR         9383
   STATE      off
   TYPE       dummy
   READINGS:
     2019-06-20 15:45:03   state           off
Attributes:
   alias      GTO
   genericDeviceType switch
   homebridgeMapping clear On=state,valueOn=on,cmdOn=on-for-timer+1,cmdOff=off
   room       Garage,Homekit
   setList    on off
   useSetExtensions 1
   webCmd     on


Danke
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

DeeSPe

Mit timeout sollte das klappen:
attr du_GTO homebridgeMapping On=state,cmdOn=on,cmdOff=off,valueOn=on,valueOff=off,timeout=250

Damit sollte der Schalter nach 250ms wieder zurück auf "off" geschaltet werden.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Helmi55

Leider auch nicht. Erst nach dem Schließen der App wird dieser dummy wieder aktualisiert.

ich glaube es bringt mir auch nix, wenn ich zwei Homebridge auf den 2 Pis einrichte (Garage und Haus Haus hat es bereits)
denn auf der Apple Watch kann ich nicht dazwischen hin und her schalten - das geht ja nur am iPhone......

Gruß
helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

TomLee

Hallo,

hatte es zuvor getestet, bei mir aktualisiert sich der Status sofort, hast du homebridge auch neu gestartet ?

Helmi55

Hallo ja selbstverständlich. Habe jetzt sogar noch ein update durchgeführt.
leider ohne erfolg
Erst wenn ich die App neu aufrufe wird das Icon aktualisiert?
Verstehe das nicht

Gruß
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

TomLee

#7
Jun 20 19:36:40 FHEMSERVER homebridge[4519]: [2019-6-20 19:36:40] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20du_Test%20on-for-timer%201&XHR=1
Jun 20 19:36:40 FHEMSERVER homebridge[4519]:   2019-06-20 19:36:40 caching: du_Test-state: on
Jun 20 19:36:40 FHEMSERVER homebridge[4519]: [2019-6-20 19:36:40] [FHEM]     caching: On: true (as boolean; from 'on')
Jun 20 19:36:41 FHEMSERVER homebridge[4519]:   2019-06-20 19:36:41 caching: du_Test-state: off
Jun 20 19:36:41 FHEMSERVER homebridge[4519]: [2019-6-20 19:36:41] [FHEM]     caching: On: false (as boolean; from 'off')
Jun 20 19:36:49 FHEMSERVER homebridge[4519]: [2019-6-20 19:36:49] [FHEM] du_Test: executing set cmd for On withvalue true
Jun 20 19:36:49 FHEMSERVER homebridge[4519]: [2019-6-20 19:36:49] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20du_Test%20on-for-timer%201&XHR=1
Jun 20 19:36:49 FHEMSERVER homebridge[4519]:   2019-06-20 19:36:49 caching: du_Test-state: on
Jun 20 19:36:49 FHEMSERVER homebridge[4519]: [2019-6-20 19:36:49] [FHEM]     caching: On: true (as boolean; from 'on')
Jun 20 19:36:51 FHEMSERVER homebridge[4519]:   2019-06-20 19:36:51 caching: du_Test-state: off
Jun 20 19:36:51 FHEMSERVER homebridge[4519]: [2019-6-20 19:36:51] [FHEM]     caching: On: false (as boolean; from 'off')


Das passiert wenn ich den Schalter in der App zwei mal betätige. Wie siehts denn bei dir aus ?



Internals:
   FUUID      5d0b6fa4-f33f-78f5-09c7-02ec113663da36c3
   NAME       du_Test
   NR         182
   STATE      off
   TYPE       dummy
   READINGS:
     2019-06-20 19:36:50   state           off
Attributes:
   genericDeviceType switch
   homebridgeMapping clear On=state,valueOn=on,cmdOn=on-for-timer+1,cmdOff=off
   room       Homekit
   setList    on off
   useSetExtensions 1

Helmi55

Also im Eventmonitor sehe ich das

2019-06-20 19:59:48 RFHEM FHEMGarage cmd set GaragenTorAntrieb on
2019-06-20 19:59:48 DOIF di_Garagentorantrieb cmd_nr: 1
2019-06-20 19:59:48 DOIF di_Garagentorantrieb cmd: 1
2019-06-20 19:59:48 DOIF di_Garagentorantrieb cmd_event: du_GTO
2019-06-20 19:59:48 DOIF di_Garagentorantrieb cmd_1
2019-06-20 19:59:48 dummy du_GTO on
2019-06-20 19:59:48 dummy du_GTO off
2019-06-20 19:59:49 DOIF di_Garagentorantrieb cmd_nr: 2
2019-06-20 19:59:49 DOIF di_Garagentorantrieb cmd: 2
2019-06-20 19:59:49 DOIF di_Garagentorantrieb cmd_event: du_GTO
2019-06-20 19:59:49 DOIF di_Garagentorantrieb cmd_2
2019-06-20 19:59:49 dummy du_GTO off


Hier wird mMn der dummy wieder auf off gesetzt. Nur das kommt nicht in die App durch?
list vom GTO dummy
Internals:
   FUUID      5d08725c-f33f-ee2d-1f48-37c5a270df825bc7
   FVERSION   98_dummy.pm:0.191970/2019-04-16
   NAME       du_GTO
   NR         591
   STATE      off
   TYPE       dummy
   READINGS:
     2019-06-20 19:59:49   state           off
Attributes:
   alias      GTO
   genericDeviceType switch
   homebridgeMapping clear On=state,valueOn=on,cmdOn=on-for-timer+1,cmdOff=off
   room       Garage,Homekit
   setList    on off
   useSetExtensions 1


Danke
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

TomLee

Nicht im Event-Monitor.

Schau mal mit

journalctl -f -u homebridge

in der Konsole.

Und nimm mal das set du_GTO off aus dem DOIF oder disable es so lange zum testen, bis klar ist das der dummy auch korrekt funktioniert.

Helmi55

servus
so doif disabled und jetzt schaltet der dummy in der App auch aus
Jun 20 21:03:22 RPi-Haussteuerung homebridge[4260]: [2019-6-20 21:03:22] [FHEM]   executing: http://10.0.0.10:8093/fhem?cmd=set%20du_GTO%20on-for-timer%201&XHR=1
Jun 20 21:03:22 RPi-Haussteuerung homebridge[4260]: 2019-06-20 21:03:22 caching: du_GTO-state: on
Jun 20 21:03:22 RPi-Haussteuerung homebridge[4260]: [2019-6-20 21:03:22] [FHEM]     caching: On: true (as boolean; from 'on')
Jun 20 21:03:23 RPi-Haussteuerung homebridge[4260]: 2019-06-20 21:03:23 caching: du_GTO-state: off
Jun 20 21:03:23 RPi-Haussteuerung homebridge[4260]: [2019-6-20 21:03:23] [FHEM]     caching: On: false (as boolean; from 'off')



habe nun auch wieder das DOIF OHNE du_GTO off aktiviert und es funktioniert perfekt.

Herzlichen Dank für deine Mühe und Zeit hast mir sehr geholfen. Schönen Abend
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

TomLee

Zitat von: DeeSPe am 20 Juni 2019, 15:55:40
Mit timeout sollte das klappen:
attr du_GTO homebridgeMapping On=state,cmdOn=on,cmdOff=off,valueOn=on,valueOff=off,timeout=250

Damit sollte der Schalter nach 250ms wieder zurück auf "off" geschaltet werden.

Gruß
Dan

Hab ich jetzt bei mir mal getestet.

Internals:
   FUUID      5d0b6fa4-f33f-78f5-09c7-02ec113663da36c3
   NAME       du_Test
   NR         182
   STATE      on
   TYPE       dummy
   READINGS:
     2019-06-20 21:54:44   state           on
Attributes:
   genericDeviceType switch
   homebridgeMapping On=state,cmdOn=on,cmdOff=off,valueOn=on,valueOff=off,timeout=250
   room       Homekit
   setList    on off



Der Dummy wird nur ein und ausgeschaltet.


Jun 20 22:01:16 FHEMSERVER homebridge[19385]: [2019-6-20 22:01:16] [FHEM] du_Test: executing set cmd for On with value true
Jun 20 22:01:16 FHEMSERVER homebridge[19385]: [2019-6-20 22:01:16] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20du_Test%20on&XHR=1
Jun 20 22:01:16 FHEMSERVER homebridge[19385]:   2019-06-20 22:01:16 caching: du_Test-state: on
Jun 20 22:01:16 FHEMSERVER homebridge[19385]: [2019-6-20 22:01:16] [FHEM]     caching: On: true (as boolean; from 'on')
Jun 20 22:01:40 FHEMSERVER homebridge[19385]: [2019-6-20 22:01:40] [FHEM] du_Test: executing set cmd for On with value false
Jun 20 22:01:40 FHEMSERVER homebridge[19385]: [2019-6-20 22:01:40] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20du_Test%20off&XHR=1
Jun 20 22:01:40 FHEMSERVER homebridge[19385]:   2019-06-20 22:01:40 caching: du_Test-state: off
Jun 20 22:01:40 FHEMSERVER homebridge[19385]: [2019-6-20 22:01:40] [FHEM]     caching: On: false (as boolean; from 'off')

TomLee

Hallo,

mich interessiert die Lösung mit timeout immer noch, hab das heute wieder mal getestet.
Es klappt weder mit homebridge noch Alexa.

@DeeSPe kannst du dir das bitte nochmal anschauen.

Gruß

Thomas

Credo

Würde mich auch sehr interessieren.

Bei mir funktioniert es auch nicht.

DeeSPe

Ich habe das Ganze soeben noch einmal an einem Dummy getestet.
Im Mapping fehlte noch der default Wert auf den der Schalter nach dem Timeout dann zurückfallen soll.
Aber wie auch immer, leider wird nur der Schalter in HomeKit auf den default Wert zurück gesetzt. Es kommt leider nicht in FHEM an.

Mit diesem Mapping fällt der Schalter in HomeKit nach dem Einschalten nach 250ms zurück auf "off", aber leider bleibt der Schalter in FHEM weiter auf "on".
Bug oder Feature?

defmod d1 dummy
attr d1 alias Push me
attr d1 homebridgeMapping On=state,cmdOn=on,cmdOff=off,valueOn=on,valueOff=off,timeout=250,default=off
attr d1 room HomeKit
attr d1 setList on:noArg off:noArg


Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe