[gelöst]Homebridge Mapping Garagentor und zwei reed Kontakte

Begonnen von Larusso, 26 April 2018, 19:39:44

Vorheriges Thema - Nächstes Thema

Larusso

Hallo zusammen,

ich versuche gerade mein Garagentor in Homekit mit den realen states von zwei esp8266 mit reed Kontakten als Tor auf und Tor zu Zustand darzustellen. Kurz zum aktuellen Stand. Ich habe drei Devices:

1.esp8266 Taster um das Garagentor zu öffen/schliesen
2.esp8266 Kontakt Tor auf
3.esp8266 Kontakt Tor zu

bei den beiden Kontakten wäre das State:"Switch" wohl das was man in das mapping einbinden würde, bekomme das aber irgendwie nicht zusammen.

Internals:
   .eventMapCmd on:noArg off:noArg
   DEF        192.168.178.109 80 espBridge Garagentor_Schalter
   ESP_BUILD  140
   ESP_SLEEP  0
   ESP_UNIT   0
   ESP_VERSION 9
   HOST       192.168.178.109
   IDENT      Garagentor_Schalter
   INTERVAL   300
   IODev      espBridge
   LASTInputDev espBridge
   MSGCNT     4
   NAME       ESPEasy_Garagentor_Schalter
   NOTIFYDEV  global
   NR         387
   NTFY_ORDER 50-ESPEasy_Garagentor_Schalter
   PORT       80
   STATE      absent
   SUBTYPE    device
   TYPE       ESPEasy
   VERSION    1.38
   espBridge_MSGCNT 4
   espBridge_TIME 2018-04-26 19:20:21
   .attraggr:
   .attrminint:
   READINGS:
     2018-04-26 19:20:21   Switch          off
     2018-04-26 19:30:56   presence        absent
     2018-04-26 19:30:56   state           absent
   helper:
     fpc        1524762049
     pm:
       Encode     1
       JSON       1
     received:
Attributes:
   IODev      espBridge
   Interval   300
   alias      Garagentor Schalter
   eventMap   /gpio 2 on:on/gpio 2 off:off/
   genericDeviceType switch
   group      ESPEasy Device
   presenceCheck 1
   readingSwitchText 1
   room       ESPEasy,Homekit
   setState   100
   sortby     01
   webCmd     on:off


Internals:
   DEF        192.168.178.128 80 espBridge Garagentor
   ESP_BUILD  140
   ESP_SLEEP  0
   ESP_UNIT   0
   ESP_VERSION 9
   HOST       192.168.178.128
   IDENT      Garagentor
   INTERVAL   60
   IODev      espBridge
   LASTInputDev espBridge
   MSGCNT     2
   NAME       ESPEasy_Garagentor
   NOTIFYDEV  global
   NR         332
   NTFY_ORDER 50-ESPEasy_Garagentor
   PORT       80
   STATE      absent
   SUBTYPE    device
   TYPE       ESPEasy
   VERSION    1.38
   espBridge_MSGCNT 2
   espBridge_TIME 2018-04-26 19:20:20
   .attraggr:
   .attrminint:
   READINGS:
     2018-03-31 15:53:07   Sensor          off
     2018-04-26 19:20:20   Switch          off
     2018-04-26 19:34:15   presence        absent
     2018-04-26 19:34:15   state           absent
   helper:
     fpc        1524762049
     pm:
       Encode     1
       JSON       1
     received:
Attributes:
   IODev      espBridge
   Interval   60
   alias      Garagentor auf
   group      ESPEasy Device
   presenceCheck 1
   readingSwitchText 1
   room       ESPEasy
   setState   3


Internals:
   DEF        192.168.178.107 80 espBridge Garage_Tor_zu
   ESP_BUILD  140
   ESP_SLEEP  0
   ESP_UNIT   0
   ESP_VERSION 9
   HOST       192.168.178.107
   IDENT      Garage_Tor_zu
   INTERVAL   60
   IODev      espBridge
   LASTInputDev espBridge
   MSGCNT     2
   NAME       ESPEasy_Garage_Tor_zu
   NOTIFYDEV  global
   NR         391
   NTFY_ORDER 50-ESPEasy_Garage_Tor_zu
   PORT       80
   STATE      absent
   SUBTYPE    device
   TYPE       ESPEasy
   VERSION    1.38
   espBridge_MSGCNT 2
   espBridge_TIME 2018-04-26 19:20:37
   .attraggr:
   .attrminint:
   READINGS:
     2018-04-26 19:20:37   Switch          on
     2018-04-26 19:34:32   presence        absent
     2018-04-26 19:34:32   state           absent
   helper:
     fpc        1524762049
     pm:
       Encode     1
       JSON       1
     received:
Attributes:
   IODev      espBridge
   Interval   60
   alias      Garagentor zu
   group      ESPEasy Device
   presenceCheck 1
   readingSwitchText 1
   room       ESPEasy
   setState   3


Ist wahrscheinlich für euch relativ einfach aber ich bekomme das homebridgemapping nicht zusammen, ich hätte jetzt gerne das mir der Schalter in meinem Handy "eingeschaltet" bei Tor auf und "ausgeschaltet" bei Tor zu über die reed Kontakt state anzeigt. Wie bekomme ich das hin? Im Moment habe ich einen WaitTimer auf dem Torschalter so das der Zustand nach zwei Sekunden auf off gestellt wird, da ich das Tor über Taster auf und zu mache. Ich würde dann aber wenn das mapping richtig funktioniert den Schalter bei auf und zu so setzen das er den Taster am Garagetormotor triggert. Ich kann mir ja dann anhand des funktionierenden mappings anhand des Schalters ansehen ob das Tor auf oder zu ist.
nanoCul434MHz, nanoCul868MHz, HueBridge, shellyRolladenaktoren, Nuki, Homematic, RPI3, Homebridge, Sonoffbridge, Xiaomi Saugrobotter,

raiderxxl

Hi,

ich habe das so gelöst...

Dummy Garage
Die states der Schalter werden an den Dummy übertragen.
Der Dummy hat des Attribut genericDeviceType garage
als setlist habe ich auf/zu Homekit hat bei mir das automatisch den state erkannt.


Grüßle

Pascal
FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

Larusso

Hallo raiderxxl kannst du mir vielleicht eine List von deinem device schicken dann kann ich das für mich zurecht basteln Danke.
nanoCul434MHz, nanoCul868MHz, HueBridge, shellyRolladenaktoren, Nuki, Homematic, RPI3, Homebridge, Sonoffbridge, Xiaomi Saugrobotter,

raiderxxl

#3
Bitte...

defmod Garage dummy
attr Garage devStateIcon auf:fts_garage_door_10 zu:fts_garage_door_100
attr Garage genericDeviceType garage
attr Garage group Garagensteuerung
attr Garage icon fts_garage
attr Garage room Garage,Homekit
attr Garage setList auf zu
attr Garage webCmd auf:zu


defmod Gargentor_Sensor_unten_DOIF_1 DOIF ([Gargentor_Sensor_unten:"^on$"]) (set Garage_notify_.* inactive;;setreading Garage state auf;;set Garage_notify_.* active)
attr Gargentor_Sensor_unten_DOIF_1 alias Setzt Status Garage auf Auf wenn Sensor öffnet
attr Gargentor_Sensor_unten_DOIF_1 do always
attr Gargentor_Sensor_unten_DOIF_1 group Automator
attr Gargentor_Sensor_unten_DOIF_1 room Garage

defmod Gargentor_Sensor_unten_DOIF_2 DOIF ([Gargentor_Sensor_unten:"^off$"]) (set Garage_notify_.* inactive;;setreading Garage state zu;;set Garage_notify_.* active)
attr Gargentor_Sensor_unten_DOIF_2 alias Setzt Status Garage auf Zu wenn Sensor schließt
attr Gargentor_Sensor_unten_DOIF_2 do always
attr Gargentor_Sensor_unten_DOIF_2 group Automator
attr Gargentor_Sensor_unten_DOIF_2 room Garage


defmod Garage_notify_1 notify Garage:auf|zu set Sonoff_Switch2 on;;set Garage_Lueften off
attr Garage_notify_1 alias Öffnet und Schließt die Garage
attr Garage_notify_1 group Automator
attr Garage_notify_1 room Garage



Ich weiss der Code ist nicht perfekt aber für mich funktioniert's...
Das erste device ist der Dummy
Die 2 Doifs setzten den Status dabei werden aber auch die doifs deaktiviert die normalerweise die Garage öffnen\schließen.
Das 3te Doif öffnet und schließt das Tor bei mir jeweils auf on da mein device ein Taster ist.

Warum hast du 3 ESP's genommen? reicht da nicht einer?
Grüßle

Pascal
FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

Larusso

Hallo raiderxxl,

was bezweckst du mit dem device : set Garage_Lueften off?
nanoCul434MHz, nanoCul868MHz, HueBridge, shellyRolladenaktoren, Nuki, Homematic, RPI3, Homebridge, Sonoffbridge, Xiaomi Saugrobotter,

Larusso

Dank dir raiderxxl konnte ich das ganze super umsetzen, auch meinen Taster konnte ich super einbinden und habe nun auch in homekit ein Garagentor mit echtem Zustand ob auf oder zu. Musste das ganze nur ein wennig anpassen, weil ich ja zwei Kontakte nutze für zu und für auf. Desweiteren musste ich noch eine notify für den aus Zustand am Schalter anlegen, da ich keinen Taster am ESP definiert habe sondern einen gpio-switch. Ich bin begeistert vielen vielen dank.... ;D

Kurz zu deiner Frage :
ZitatWarum hast du 3 ESP's genommen? reicht da nicht einer?
Grüßle
Habe dort esp8266-01 verbaut und da gibt es ja immer ein Problem beim GPIO0 glaub ich ist das, wenn man den auf low zieht und das device Spannungsfrei ist geht der in den Flash Mode. Sind so meine ersten Bastelversuche mit den kleinen Dingern, da habe ich am Anfang nur den GPIO2 benutzt, da der beim Einschalten nicht high oder low haben muss, da ist es egal. Denke mit nem Nodemcu oder nem 8266-07 hat man da mehr Möglichkeiten alleine wegen der vielen GPIO´s die man nutzen kann.



nanoCul434MHz, nanoCul868MHz, HueBridge, shellyRolladenaktoren, Nuki, Homematic, RPI3, Homebridge, Sonoffbridge, Xiaomi Saugrobotter,

raiderxxl

Hi ich habe noch ein Lüften Programm das ich abreche wenn man wieder schaltet... wenn lüften aus dann werden at's die es noch so gibt gelöscht...

Grüßle

Pascal
FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

Larusso

#7
Hallo zusammen,

ich musste feststellen das meine DOIF´s nicht auslösen wenn die Sensoren des Tors geschaltet werden und mir somit auch nicht der richtige Zustand des Tors auf oder zu angezeigt wird. Wenn ich CMD manuell im DOIF auslose dann setzt er den Zustand wie in der Command Zeile, allerding reagiert er nicht bei checkall auf die Zustände. Ich glaube ich habe da einen Fehler in der Command Line beim auswerten des readings von den Sensoren. Anbei mein DOIF und mein Torsensor.

Torsensor auf:
Internals:
   DEF        192.168.178.128 80 espBridge Garagentor
   ESP_BUILD  140
   ESP_SLEEP  0
   ESP_UNIT   0
   ESP_VERSION 9
   HOST       192.168.178.128
   IDENT      Garagentor
   INTERVAL   60
   IODev      espBridge
   LASTInputDev espBridge
   MSGCNT     13
   NAME       ESPEasy_Garagentor
   NOTIFYDEV  global
   NR         330
   NTFY_ORDER 50-ESPEasy_Garagentor
   PORT       80
   STATE      absent
   SUBTYPE    device
   TYPE       ESPEasy
   VERSION    1.38
   espBridge_MSGCNT 13
   espBridge_TIME 2018-04-30 12:15:31
   .attraggr:
   .attrminint:
   READINGS:
     2018-03-31 15:53:07   Sensor          off
     2018-04-30 12:15:31   Switch          on
     2018-04-30 12:28:43   presence        absent
     2018-04-30 12:28:43   state           absent
   helper:
     fpc        1524997563
     pm:
       Encode     1
       JSON       1
     received:
Attributes:
   IODev      espBridge
   Interval   60
   alias      Garagentor auf
   group      ESPEasy Device
   presenceCheck 1
   readingSwitchText 1
   room       ESPEasy
   setState   3


reagieren muss das DOIF auf das reading "Switch"

hier das DOIF
Internals:
   DEF        ([ESPEasy_Garagentor.Switch:"^on$"]) (set Garage_notify_.* inactive; set setreading Garage state auf; set Garage_notify_.* active)
   MODEL      FHEM
   NAME       Gargentor_Sensor_unten_DOIF_1
   NR         431
   NTFY_ORDER 50-Gargentor_Sensor_unten_DOIF_1
   STATE      initialized
   TYPE       DOIF
   .attraggr:
   .attrminint:
   READINGS:
     2018-04-30 12:28:37   cmd             0
     2018-04-30 12:28:37   mode            enabled
     2018-04-30 12:28:37   state           initialized
   Regex:
   condition:
     0          EventDoIf('ESPEasy_Garagentor.Switch',$hash,'^on$',1)
   devices:
     0           ESPEasy_Garagentor.Switch
     all         ESPEasy_Garagentor.Switch
   do:
     0:
       0          set Garage_notify_.* inactive; set setreading Garage state auf; set Garage_notify_.* active
     1:
   helper:
     DOIF_Readings_events
     DOIF_eventas
     globalinit 1
     last_timer 0
     sleeptimer -1
   itimer:
   trigger:
     all         ESPEasy_Garagentor.Switch
   uiState:
   uiTable:
Attributes:
   alias      Setzt Status Garage Auf wenn auf Sensor öffnet
   do         always
   room       Garage


Das kann doch nur eine Kleinigkeit sein, ich finde den Fehler nicht, aber ich denke es muss an diesem Stück liegen "([ESPEasy_Garagentor.Switch:"^on$"])" wenn ich wie schon erwänt cmd1 manuell auslöse aus dem DOIF setzt er das reading auf auf.  :o


Habs raus bekommen.....die Syntax von dem DOIF war es. ([ESPEasy_Garagentor:Switch] eq "on") so reagiert das DOIF auch auf das State vom Switch richtig  ???
nanoCul434MHz, nanoCul868MHz, HueBridge, shellyRolladenaktoren, Nuki, Homematic, RPI3, Homebridge, Sonoffbridge, Xiaomi Saugrobotter,