FHEM Forum

FHEM => Frontends => Sprachsteuerung => Thema gestartet von: miggun am 29 November 2018, 16:41:02

Titel: homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: miggun am 29 November 2018, 16:41:02
Ich komme mal wieder nicht weiter.

Ich wollte aus mein Hallentor auch wirklich als Garage definieren, aber mir fehlen die richtigen Rückmeldungsbefehle. Lampe alles gut, Garage bekomme ich nicht hin

defmod Test dummy
attr Test devStateIcon auf:fts_garage_door_10@red zu:fts_garage_door_100@green
attr Test devStateStyle fts_garage
attr Test genericDeviceType garage
attr Test homebridgeMapping open=state,valueOff=close,valueOn=open,cmdOff=close,cmdOn=open
attr Test icon fts_garage
attr Test room Homekit
attr Test setList open close
attr Test webCmd auf:zu


Den hier habe ich auch probiert.
attr Test genericDeviceType GarageDoorOpener

Wäre schön, wenn Ihr mir noch einmal unter die Arme greifen könntet.
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: DeeSPe am 29 November 2018, 17:53:31
Der Name der Characteristic fehlt im homebridgeMapping.
Setzt mal:
On=
davor.

Gruß
Dan
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: miggun am 29 November 2018, 18:03:53
Ui, danke für die schnelle Antwort.
Also einfach davor setzen, nicht ersetzen, probiere ich.

attr Test homebridgeMapping On=open=state,valueOff=close,valueOn=open,cmdOff=close,cmdOn=open
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: MadMax-FHEM am 29 November 2018, 18:08:07
Zitat von: miggun am 29 November 2018, 18:03:53
Ui, danke für die schnelle Antwort.

Neuer Thread mit passendem Thema: läuft ;)

Nächstes Mal noch den richtigen Forenbereich (hier: Sprachsteuerung) und dann läuft's richtig gut ;)

Viel Erfolg, Joachim
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: miggun am 29 November 2018, 18:08:42
Das war es leider nicht.
Ich finde aber auch die Kommandos nirgends, die für Garage passen.

defmod Test dummy
attr Test devStateIcon auf:fts_garage_door_10@red zu:fts_garage_door_100@green
attr Test devStateStyle fts_garage
attr Test genericDeviceType garage
attr Test homebridgeMapping On=open=state,valueOff=close,valueOn=open,cmdOff=close,cmdOn=open
attr Test icon fts_garage
attr Test room Homekit
attr Test setList open close
attr Test webCmd auf:zu

Wenn er open oder close nicht versteht, dann passt es schon nicht. Ist valueOn und ValueOff passend.

Danke Joachim, ich habe noch ein bißchen Angst das irgenwo in einen anderen Bereich zu packen, weil ich immer denk, dass ich irgendwas übersehen habe und es meine Blödheit ist, dass es nicht funktioniert.
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: MadMax-FHEM am 29 November 2018, 18:19:15
Zitat von: miggun am 29 November 2018, 18:08:42
Danke Joachim, ich habe noch ein bißchen Angst das irgenwo in einen anderen Bereich zu packen, weil ich immer denk, dass ich irgendwas übersehen habe und es meine Blödheit ist, dass es nicht funktioniert.

Das ist aber egal in welchem Forenbereich das passiert ;)

Aber je passender der Forenbereich desto größer die Chance, dass "Wissende" drüber schauen...
...im Anfängerfragenbereich ist es (oft) eher Zufall ;)

Aber wichtig ist herauszufinden, ob Siri mit auf/zu überhaupt was anfangen kann.
Google und Alexa "verstehen" auch nicht alles (an/aus schon dann wird's oft schon mau / ähnliches Problem wie Rollo, vielleicht passt auch das besser: blind / es kann auch sein, dass es den genericDeviceType "garage" zwar gibt, er aber nicht "ausgewertet" wird / hab da mal was gehört, dass nicht alle "genutzt" werden. Und seit ghome sind noch einige dazu gekommen, die vermutlich Alexa, Siri, ... gar nicht "kennen" / aber: alles nur Vermutung, daher in Klammern ;)  Ich selbst löse sowas mittlerweile über Routinen [Alexa-spezifisch fürchte ich] bzw. reicht mir an/aus ;)  )

EDIT: du kannst auch nachträglich verschieben ;)

Viel Erfolg, Joachim
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: miggun am 29 November 2018, 19:03:29
Funktionierend:

defmod Hallentor dummy
attr Hallentor genericDeviceType switch
attr Hallentor homebridgeMapping On=state,valueOff=off,valueOn=on,cmdOff=off,cmdOn=on
attr Hallentor icon fts_garage
attr Hallentor room Homekit
attr Hallentor webCmd on:off


Leider nicht funktionierend:

defmod Test dummy
attr Test devStateIcon auf:fts_garage_door_10@red zu:fts_garage_door_100@green
attr Test devStateStyle fts_garage
attr Test genericDeviceType garage
attr Test homebridgeMapping open=state,valueOff=close,valueOn=open,cmdOff=close,cmdOn=open
attr Test icon fts_garage
attr Test room Homekit
attr Test setList open close
attr Test webCmd auf:zu
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: MadMax-FHEM am 29 November 2018, 19:12:56
Was kommt denn in Homebridge an, wenn du "auf/zu" sagst!?

-> Homebridge Logfile (initd: steht im Startscript / systemd: journalctl)

Kann das Siri überhaupt "verarbeiten"?

Schon mal als Rollo (blind) versucht?
Das sollte zumindest gehen und evtl. ja sogar mit auf/zu...

Jetzt mal ohne in Klammern... ;)

Gruß, Joachim
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: miggun am 29 November 2018, 21:31:50
So, bin auf der Arbeit und musste hier erst mal nen VPN-Tunnel installieren, damit ich auf den RasPi komme, dann noch Putty und jetzt bin ich da.

Nov 29 21:28:08 raspberrypi homebridge[761]: [29.11.2018, 21:28:08] [FHEM]   value: zu
Nov 29 21:28:08 raspberrypi homebridge[761]: [29.11.2018, 21:28:08] [FHEM] Test-state value zu not handled in values

Er kann tatsächlich nix mit zu anfangen
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: miggun am 29 November 2018, 21:39:04
Ui, ich komme der Sache näher.

defmod Test dummy
attr Test devStateIcon open:fts_garage_door_10@red close:fts_garage_door_100@green
attr Test devStateStyle fts_garage
attr Test genericDeviceType garage
attr Test homebridgeMapping On=open=state,valueOff=close,valueOn=open,cmdOff=close,cmdOn=open
attr Test icon fts_garage
attr Test room Homekit
attr Test setList open close
attr Test webCmd open:close


Nov 29 21:36:50 raspberrypi homebridge[983]:   2018-11-29 21:36:50 caching: Test-state: close
Nov 29 21:36:50 raspberrypi homebridge[983]: [29.11.2018, 21:36:50] [FHEM]     caching: CurrentDoorState: 1 (as number; means CLOSED; from 'close')
Nov 29 21:36:50 raspberrypi homebridge[983]: [29.11.2018, 21:36:50] [FHEM]     caching: TargetDoorState: 1 (as number; means CLOSED; from 'close')


Jetzt stimmt der Satus und die Bedienung. Jetzt muss nur noch Siri auf und zu kapieren.
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: MadMax-FHEM am 29 November 2018, 22:07:49
Zitat von: miggun am 29 November 2018, 21:39:04
Ui, ich komme der Sache näher.
Jetzt stimmt der Satus und die Bedienung. Jetzt muss nur noch Siri auf und zu kapieren.
So schnell ist man Profi... ;)

Das ist dann wohl ein "Change Request" an Apple ;)

Äh, weil ich's grad sehe: dein Garagentor ist ja ein Dummy!?
Gibt es zur Steuerung auch ein "echtes" Device!?
Wenn: welcher "Typ"?

Weil vielleicht funktioniert das mit dem Original-Device besser, weil ja homebridge einige Geräte autom. erkennt usw.

Ausserdem: du musst so ja auch noch den Schaltbefehl vom Dummy zum tatsächlichen Device "weiterleiten", oder!?

Viel Erfolg, Joachim
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: miggun am 29 November 2018, 22:23:22
Naja, halte mich an das was Ihr mir gesagt habt, lesen...lernen...lesen...lernen.

Ja, ich habe ein echtes, das läuft als Lampe. Ich möchte da erst rum fummeln, wenn ich Test funktionsfähig habe, damit ich das Original nutzen kann.
Wenn Test läuft, änder ich das original ab.
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: MadMax-FHEM am 29 November 2018, 22:30:46
Jaja, sehr gut! ;)

Aber wie geschrieben: manches ist mit dem tatsächlichen "Gerät" oft einfacher...
...(meist) jedoch anders (auf alle Fälle)...

Beim Original-Gerät würde ich aber erst mal ohne genericDeviceType probieren, denn oft erkennt homebridge (zumindest bei alexa-fhem und ghome so) das Gerät automatisch und ist dann bei (zusätzlich) gesetztem genericDeviceType evtl. "verwirrt"... ;)

Viel Erfolg, Joachim
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: miggun am 29 November 2018, 22:45:43
In der App sehe ich wohl das schöne Garagentor und nicht die Lampe, aber die Kommandos will er nicht. Ich versuche jetzt mal den Namen auf Tor zu ändern, vielleicht gefällt der Apple-Zicke Test nicht.
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: miggun am 30 November 2018, 08:09:39
So, 9 Stunden Nachtschicht mit Hey Siri-Rufen verbracht. blind probiert, alle möglichen Variationen von open close/closed, Siri will mich nicht verstehen.
Ich hoffe Ihr habt noch eine Idee, mir fällt nichts mehr ein.
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: Ingo298 am 01 Dezember 2018, 21:13:29
Ich habe es so gelöst

defmod Tor_1_Dummy dummy
attr Tor_1_Dummy DbLogExclude .*
attr Tor_1_Dummy alexaName tor
attr Tor_1_Dummy alexaRoom garage
attr Tor_1_Dummy devStateIcon auf:fts_garage_door_10@red zu:fts_garage_door_100@green
attr Tor_1_Dummy event-on-change-reading .*
attr Tor_1_Dummy genericDeviceType GarageDoorOpener
attr Tor_1_Dummy group Tor_1
attr Tor_1_Dummy homebridgeMapping CurrentDoorState=state,values=closed:CLOSED;;open:OPEN;;opening:OPENING;;closing:CLOSING\
TargetDoorState=state,cmds=OPEN:auf;;CLOSED:zu,values=zu:CLOSED;;auf:OPEN
attr Tor_1_Dummy room 00_1 Garage,Homekit,alexa
attr Tor_1_Dummy setList auf zu
attr Tor_1_Dummy webCmd auf:zu

setstate Tor_1_Dummy closed
setstate Tor_1_Dummy 2018-12-01 18:24:19 state closed

Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: miggun am 02 Dezember 2018, 10:30:07
Das sieht sehr gut aus. Auf jeden Fall habe ich das noch nicht probiert. Klasse. Probiere ich direkt aus.
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: miggun am 02 Dezember 2018, 10:42:02
Genial.....das funktioniert. Top.

Nur die Schließen-Rückmeldung bekommt er nicht sauber...das sollte aber schnell zu lösen sein.
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: miggun am 29 Dezember 2018, 07:55:14
Hallo zusammen,
ich hoffe, Ihr hattet ein angenehmes Weihnachtsfest. Ich habe die Zeit genutzt und bin mit dem Tor ein Stückchen weiter gekommen, wobei ich mir gewünscht hätte, das ich es alleine schaffe. Leider ist dem nicht so. Ihr habt mir hier echt gut auf die Sprünge geholfen, ich habe es jetzt fast so, wie es sein sollte, bis auf ein kleines Problem, das ich mir nicht erklären kann.

Mein Endschalter sagt Tor zu, das Bild in FHEM sagt Tor zu, das Bild in der Home App (Apple) sagt Tor zu, und darunter steht Geöffnet.
Mein Endschalter sagt Tor auf, das Bild in FHEM sagt Tor auf, das Bild in der Home App (Apple) sagt Tor auf, und darunter steht immer noch Geöffnet.

Irgendwas habe ich noch nicht richtig und ich komme nicht darauf, wo der Fehler liegt. Es wäre echt toll, wenn Ihr mir noch einmal auf die Sprünge helfen könntet.

Das ist mein Code in FHEM:
defmod au_Hallentor FS20 1111 01
attr au_Hallentor IODev MapleCUN1
attr au_Hallentor devStateIcon 0:fts_shutter_10@red 100:fts_shutter_100@green
attr au_Hallentor genericDeviceType GarageDoorOpener
attr au_Hallentor homebridgeMapping CurrentDoorState=realState,value=100:closed:CLOSED;;0:open:OPEN\
TargetDoorState=realState,cmds=OPEN:on;;CLOSED:off,value=100:zu:CLOSED;;0:auf:OPEN
attr au_Hallentor icon fts_garage
attr au_Hallentor room FS20,Homekit
attr au_Hallentor siriName Hallentor
attr au_Hallentor stateFormat realState


Und das sagt die Homebridge bei Endschalter auf:
Dez 29 07:53:01 raspberrypi homebridge[12711]:   2018-12-29 07:53:01 caching: au_Hallentor-realState: 0
Dez 29 07:53:01 raspberrypi homebridge[12711]: [29.12.2018, 07:53:01] [FHEM]     caching: CurrentDoorState: 0 (as number; from '0')
Dez 29 07:53:01 raspberrypi homebridge[12711]: [29.12.2018, 07:53:01] [FHEM]     caching: TargetDoorState: 0 (as number; from '0')


Homebridge Endschalter zu:
Dez 29 07:53:49 raspberrypi homebridge[12711]:   2018-12-29 07:53:49 caching: au_Hallentor-realState: 100
Dez 29 07:53:49 raspberrypi homebridge[12711]: [29.12.2018, 07:53:49] [FHEM]     caching: CurrentDoorState: 100 (as number; from '100')
Dez 29 07:53:49 raspberrypi homebridge[12711]: [29.12.2018, 07:53:49] [FHEM]     caching: TargetDoorState: 100 (as number; from '100')

Was fehlt, damit der Text in der HomeApp auch geschlossen schreibt?
Ich danke Euch jetzt schon
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: miggun am 29 Dezember 2018, 08:49:47
Hm, keine Ahnung was ich jetzt anders gemacht habe...bzw. ich weiß schon, was anders ist, aber nicht, warum das jetzt funktioniert.

Ich habe die 100 im Code durch eine 1 ersetzt. natürlich auch im notify. Jetzt funktioniert es.
Wäre trotzdem schön, wenn es mir einer erklären kann, weil ich es gerne verstehen möchte.

Fazit, es funktioniert alles, ich weiß nur nicht warum.
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: choetzu am 22 September 2019, 14:29:53
Guten Sonntag

dank Euren Beiträgen habe ich das mit folgendem Mapping sauber hingekriegt. Funktioniert soweit auch gut.

clear
CurrentDoorState=state,values=closed:CLOSED;open:OPEN;opening:OPENING;closing:CLOSING
TargetDoorState=state,cmds=OPEN:Auf;CLOSED:Zu,values=Zu:CLOSED;Auf:OPEN


Wo es jedoch noch aneckt ist bei einem Restart meines Raspi. Sobald ich reboote verweilt Apple Home auf dem Zustand "wird geöffnet", obschon der Device Zustand "closed" ist.

Kennt ihr dieses Problem auch und wisst ihr wie man das beheben kann? Danke.

Lg c


EDIT:
Obschon es geht, habe ich Fehlermeldungen.. Stimmt mein Mapping doch nicht, obschon es eigentlich funktioniert?

2019-09-22 14:41:50 caching: Garage_Tor-state: CLOSED
[2019-9-22 2:41:50 PM] [FHEM] Garage_Tor-state value CLOSED not handled in values
[2019-9-22 2:41:50 PM] [FHEM] Garage_Tor-state value CLOSED not handled in values
  2019-09-22 14:42:04 caching: Garage_Tor-state: close
[2019-9-22 2:42:04 PM] [FHEM] Garage_Tor-state value close not handled in values
[2019-9-22 2:42:04 PM] [FHEM] Garage_Tor-state value close not handled in values
  2019-09-22 14:42:49 caching: Garage_Tor-state: closing
[2019-9-22 2:42:49 PM] [FHEM]     caching: CurrentDoorState: 3 (as number; means CLOSING; from 'closing')
[2019-9-22 2:42:49 PM] [FHEM] Garage_Tor-state value closing not handled in values
  2019-09-22 14:43:08 caching: Garage_Tor-state: Zu
[2019-9-22 2:43:08 PM] [FHEM] Garage_Tor-state value Zu not handled in values
[2019-9-22 2:43:08 PM] [FHEM]     caching: TargetDoorState: 1 (as number; means CLOSED; from 'Zu')
  2019-09-22 14:43:20 caching: Garage_Tor-state: Auf
[2019-9-22 2:43:20 PM] [FHEM] Garage_Tor-state value Auf not handled in values
[2019-9-22 2:43:20 PM] [FHEM]     caching: TargetDoorState: 0 (as number; means OPEN; from 'Auf')
  2019-09-22 14:43:21 caching: Garage_Tor-state: opening
[2019-9-22 2:43:21 PM] [FHEM]     caching: CurrentDoorState: 2 (as number; means OPENING; from 'opening')
[2019-9-22 2:43:21 PM] [FHEM] Garage_Tor-state value opening not handled in values
  2019-09-22 14:43:30 caching: Garage_Tor-state: open
[2019-9-22 2:43:30 PM] [FHEM]     caching: CurrentDoorState: 0 (as number; means OPEN; from 'open')
[2019-9-22 2:43:30 PM] [FHEM] Garage_Tor-state value open not handled in values
[2019-9-22 2:44:03 PM] [FHEM] Garage_Tor: executing set cmd for TargetDoorState with value 1
[2019-9-22 2:44:03 PM] [FHEM]   executing: http://10.0.1.71:8083/fhem?cmd=set%20Garage_Tor%20Zu&XHR=1
  2019-09-22 14:44:03 caching: Garage_Tor-state: Zu
[2019-9-22 2:44:03 PM] [FHEM] Garage_Tor-state value Zu not handled in values
[2019-9-22 2:44:03 PM] [FHEM]     caching: TargetDoorState: 1 (as number; means CLOSED; from 'Zu')
  2019-09-22 14:44:17 caching: Garage_Tor-state: closing
[2019-9-22 2:44:17 PM] [FHEM]     caching: CurrentDoorState: 3 (as number; means CLOSING; from 'closing')
[2019-9-22 2:44:17 PM] [FHEM] Garage_Tor-state value closing not handled in values
  2019-09-22 14:44:26 caching: Garage_Tor-state: closed
[2019-9-22 2:44:26 PM] [FHEM]     caching: CurrentDoorState: 1 (as number; means CLOSED; from 'closed')
[2019-9-22 2:44:26 PM] [FHEM] Garage_Tor-state value closed not handled in values
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: hoppel118 am 22 September 2019, 21:42:32
Hat hier nicht mal jemand Lust ein funktionierendes Beispiel im Wiki zu dokumentieren?

https://wiki.fhem.de/wiki/Homebridge_User_Configs

Gruß Hoppel
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: Larsihasi am 09 Juni 2020, 16:24:55
Hallo choetzu,

stehe gerade vor dem exakt selben Problem: Habe ein dummy device, das wunderbar funktioniert und auch das Schalten per Home app funktioniert einwandfrei. Das Device ist abgeleitet aus einem GarageDoorSingleButton Modul, da ich es nicht geschafft habe, es von dort aus in Homekit einzufügen, habe ich das Dummy Device entworfen, um das Mapping und die Steuerung abzubilden, so wie es eigentlich für Homekit passen sollte. Das Dummy Device hat den genericDeviceType GarageDoorOpener.

Die Frage an Siri: "Hey Siri, wie steht das Garagentor?" wird beantwortet mit: "Dein Garagentor ist" (hier kommt keine weitere Information, egal ob Tor auf, zu, öffnend oder schließend). Da Siri den Zustand nicht korrekt erkennt, vermute ich, daß am homebridgeMapping liegt. Es werden auch die gleichen Fehlermeldungen wie bei Dir angezeigt.

Leider ist das ganze doch noch ein Buch mit 7 Siegeln für mich, ich habe also einfach ein paar Beispiele gegoogelt und dieses hier ausgewählt, da es zumindest zu einer korrekten Anzeige und Steuerung über die Home führt. Was bewirkt eigentlich das "clear" in der 1. Zeile?

Kann hier bitte jemand weiterhelfen der sich mit dem korrekten Mapping auskennt?
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: ThiemoSt am 15 September 2020, 09:44:51
Zitat von: Larsihasi am 09 Juni 2020, 16:24:55
Die Frage an Siri: "Hey Siri, wie steht das Garagentor?" wird beantwortet mit: "Dein Garagentor ist" (hier kommt keine weitere Information, egal ob Tor auf, zu, öffnend oder schließend). Da Siri den Zustand nicht korrekt erkennt, vermute ich, daß am homebridgeMapping liegt. Es werden auch die gleichen Fehlermeldungen wie bei Dir angezeigt.

Ich arbeite auch mit einem Dummy der die korrekten Zustände hat. Wenn ich Siri frage wie die Garagentore stehen gibt es die die richtige Rückmeldung, also ist der Status bekannt. Nach einem Neustart der Homebridge habe ich jedoch auch das Problem das es nicht korrekt angezeigt wird. Das gleiche ist auch wenn es manuell geöffnet wird.
Habe dazu bisher leider auch keine Lösung gefunden und bin weiterhin auf der Suche.
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: MadMax-FHEM am 15 September 2020, 10:18:46
Zitat von: ThiemoSt am 15 September 2020, 09:44:51
Das gleiche ist auch wenn es manuell geöffnet wird.
Habe dazu bisher leider auch keine Lösung gefunden und bin weiterhin auf der Suche.

Das ist halt ein generelles "Problem" bei Verwendung von dummy...

Weil der nat. nichts vom tatsächlichen Device mitbekommt.

Entweder ein notify etc. was den tatsächlichen Zustand "zurück reflektiert": Gefahr einer "Schleife"...

Oder statt dummy zumindest readingsProxy, der hat/kann haben den Zustand des tatsächlichen Devices...
...am besten nat.: das tatsächliche Device nehmen!

Sollte doch per genericDeviceType und homebridgeMapping gehen!?

Dass der Zustand bei Neustart nicht geht: mal ins homebridge Log schauen (kenne zwar "nur" alexa-fhem, ist aber gleiche "Code-Basis" und vom selben Entwickler, daher gehe ich davon aus, dass es dort auch ein "extra Log" gibt)

Gruß, Joachim
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: ThiemoSt am 15 September 2020, 10:27:34
Zitat von: MadMax-FHEM am 15 September 2020, 10:18:46
Das ist halt ein generelles "Problem" bei Verwendung von dummy...

Weil der nat. nichts vom tatsächlichen Device mitbekommt.
Also in meinem Fall ist es so dass das Dummy Device zu jeder Zeit den korrekten Zustand des Garagentores hat. Auch wenn z.B. das Tor manuell geöffnet wird geht der Status von closed zu opening und später in open.

Im Homebridge Log sehe ich nach einem Neustart und manuellen Öffnen (in FHEM) des Tores (im Test EG.ga.RO.Garage) folgendes:
[9/15/2020, 10:23:39 AM] [FHEM]   value:
  2020-09-15 10:23:39 caching: EG.ga.RO.Garage-TargetState:
[9/15/2020, 10:23:39 AM] [FHEM]   value:
  2020-09-15 10:23:39 caching: UG.ga.RO.Garage-obstruction:
[9/15/2020, 10:23:39 AM] [FHEM]   value: set_off
[9/15/2020, 10:23:39 AM] [FHEM]   value:
  2020-09-15 10:23:39 caching: UG.ga.RO.Garage-TargetState:
[9/15/2020, 10:23:39 AM] [FHEM] EG.ga.RO.Garage-TargetState value  not handled in values
[9/15/2020, 10:23:39 AM] [FHEM] EG.ga.RO.Garage-TargetState value  not handled in values
[9/15/2020, 10:23:39 AM] [FHEM] UG.ga.RO.Garage-obstruction value  not handled in values
[9/15/2020, 10:23:39 AM] [FHEM] UG.ga.RO.Garage-obstruction value  not handled in values
[9/15/2020, 10:23:39 AM] [FHEM] UG.ga.RO.Garage-TargetState value  not handled in values
[9/15/2020, 10:23:39 AM] [FHEM] UG.ga.RO.Garage-TargetState value  not handled in values
  2020-09-15 10:23:48 caching: EG.ga.RO.Garage-state: open
[9/15/2020, 10:23:48 AM] [FHEM]     caching: CurrentDoorState: 0 (as number; means OPEN; from 'open')

Danach stimmt auch die Anzeige in der Home App.

Beim anschließenden manuellen (nicht durch die Home App) schließen gibt es folgenden Log und die Home App zeigt "wird geöffnet" an!
2020-09-15 10:25:05 caching: EG.ga.RO.Garage-state: closing
[9/15/2020, 10:25:05 AM] [FHEM]     caching: CurrentDoorState: 3 (as number; means CLOSING; from 'closing')
  2020-09-15 10:25:25 caching: EG.ga.RO.Garage-state: closed
[9/15/2020, 10:25:25 AM] [FHEM]     caching: CurrentDoorState: 1 (as number; means CLOSED; from 'closed')


Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: MadMax-FHEM am 15 September 2020, 11:08:53
Da muss dann wohl mal justme1968 drüber schauen!?

Poste doch mal ein list des dummy.

Bzw. wie unterscheiden sich denn die Ausgaben im homebridge Log, wenn du per dummy schaltest!?
(da geht es doch korrekt, oder!?)

Wie wird denn der dummy auf den passenden Status gesetzt, wenn du das Tor manuell schaltest!?

Sind im EventMonitor unterschiede zu sehen wenn du per dummy oder manuell schaltest!?

Evtl. auch ein list des "echten" Devices...

Gruß, Joachim
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: ThiemoSt am 15 September 2020, 15:49:44
Ich beschreibe glaube ich zuerst einmal meinen Aufbau. Als Tor habe ich ein einfaches mit nur einem Taster im Einsatz.
Vorhanden sind bei mir zwei Sensoren an der Garage welche mittels einer S7 eingelesen werden. Ebenfalls geht die Anforderung zum öffnen oder schließen auch über das S7 Modul aus FHEM raus.
Die gesamte Logik ob nun der Trigger (weil z.B. bereits offen) am Torantrieb geschaltet werden muss oder nicht ist in der SPS. In FHEM frage ich dazu nichts mehr ab.
Die Readings des Dummys werden über ein DOIF gesetzt. Ebenfalls kann der Dummy zum öffnen (opening) und zum schließen (closing) des Tores verwendet werden. Auch wenn das Tor manuell bedient wird gibt es seitens der SPS eine Rückmeldung so dass der Dummy in den entsprechenden Status (opening/closing) gesetzt wird. Das klappt im Grunde alles super.

Ich habe "nur" die Probleme das die Anzeige in der HomeApp beim Homebridge Neustart und bei manueller Torbedienung (sei es per FHEM oder per Fernbedienung/Handtaster) nicht korrekt ist.

Anbei die gewünschten List's.

list EG.ga.RO.Garage:
Internals:
   FUUID      5e5a8f9a-f33f-a9cd-7c77-133e001a9dae4fa1
   NAME       EG.ga.RO.Garage
   NR         256
   STATE      closed
   TYPE       dummy
   READINGS:
     2020-03-02 18:03:00   obstruction     false
     2020-09-15 14:04:52   state           closed
Attributes:
   alias      Garagentor Anbau
   devStateIcon open:fts_garage_door_10@red closed:fts_garage_door_100@green opening:fts_garage_door_50@yellow closing:fts_garage_door_50@yellow
   fhem_widget_channels [{"order":99,"filter":"Thiemo,Michi","allowed_values":["closing","opening"]}]

   genericDeviceType GarageDoorOpener
   homebridgeMapping CurrentDoorState=state,values=closed:CLOSED;open:OPEN;closing:CLOSING;opening:OPENING
TargetDoorState=TargetState,cmds=OPEN:opening;CLOSED:closing,values=closed:CLOSED;open:OPEN
ObstructionDetected=obstruction,values=true:TRUE;false:FALSE
   room       Garage_Anbau,Homekit
   setList    closing opening open closed


list di.EG.ga.RO.Garage
Internals:
   DEF        ##1
([EG.ga.SE.Garage.Auf] eq "on")
(setreading EG.ga.RO.Garage state open)

##2
DOELSEIF
([EG.ga.SE.Garage.Zu] eq "on")
(setreading EG.ga.RO.Garage state closed)

##3
DOELSEIF
([EG.ga.RO.Garage] eq "opening")
(set EG.ga.SI.Garage.Oeffnen TRIGGER)

##4
DOELSEIF
([EG.ga.RO.Garage] eq "closing")
(set EG.ga.SI.Garage.Schliessen TRIGGER)

##5
DOELSEIF
([EG.ga.RO.Garage] eq "opening" and [EG.ga.SE.Garage.Auf] eq "on")
(setreading EG.ga.RO.Garage state open)

##6
DOELSEIF
([EG.ga.RO.Garage] eq "closing" and [EG.ga.SE.Garage.Zu] eq "on")
(setreading EG.ga.RO.Garage state closed)

##7
DOELSEIF
([EG.ga.SE.Garage.Schliessen] eq "on")
(setreading EG.ga.RO.Garage:FILTER=state!=closing state closing)

##8
DOELSEIF
([EG.ga.SE.Garage.Oeffnen] eq "on")
(setreading EG.ga.RO.Garage:FILTER=state!=opening state opening)
   FUUID      5e5d37f7-f33f-a9cd-3a0c-dc070208d0044afe
   MODEL      FHEM
   NAME       di.EG.ga.RO.Garage
   NOTIFYDEV  EG.ga.SE.Garage.Schliessen,EG.ga.SE.Garage.Oeffnen,EG.ga.SE.Garage.Zu,EG.ga.SE.Garage.Auf,EG.ga.RO.Garage,global
   NR         257
   NTFY_ORDER 50-di.EG.ga.RO.Garage
   STATE      cmd_2
   TYPE       DOIF
   VERSION    22764 2020-09-12 20:06:36
   READINGS:
     2020-09-15 14:04:52   Device          EG.ga.SE.Garage.Schliessen
     2020-09-15 14:04:52   cmd             2
     2020-09-15 14:04:52   cmd_event       EG.ga.SE.Garage.Zu
     2020-09-15 14:04:52   cmd_nr          2
     2020-09-15 14:04:31   e_EG.ga.RO.Garage_STATE closing
     2020-09-15 14:04:32   e_EG.ga.SE.Garage.Auf_STATE off
     2020-09-15 14:03:22   e_EG.ga.SE.Garage.Oeffnen_STATE off
     2020-09-15 14:04:52   e_EG.ga.SE.Garage.Schliessen_STATE off
     2020-09-15 14:04:52   e_EG.ga.SE.Garage.Zu_STATE on
     2020-03-05 14:57:56   mode            enabled
     2020-09-15 14:04:52   state           cmd_2
     2020-09-15 14:04:37   wait_timer      no timer
   Regex:
     accu:
     cond:
       EG.ga.RO.Garage:
         0:
         1:
         2:
           &STATE     ^EG.ga.RO.Garage$
         3:
           &STATE     ^EG.ga.RO.Garage$
         4:
           &STATE     ^EG.ga.RO.Garage$
         5:
           &STATE     ^EG.ga.RO.Garage$
         6:
         7:
       EG.ga.SE.Garage.Auf:
         0:
           &STATE     ^EG.ga.SE.Garage.Auf$
         1:
         2:
         3:
         4:
           &STATE     ^EG.ga.SE.Garage.Auf$
         5:
         6:
         7:
       EG.ga.SE.Garage.Oeffnen:
         0:
         1:
         2:
         3:
         4:
         5:
         6:
         7:
           &STATE     ^EG.ga.SE.Garage.Oeffnen$
       EG.ga.SE.Garage.Schliessen:
         0:
         1:
         2:
         3:
         4:
         5:
         6:
           &STATE     ^EG.ga.SE.Garage.Schliessen$
         7:
       EG.ga.SE.Garage.Zu:
         0:
         1:
           &STATE     ^EG.ga.SE.Garage.Zu$
         2:
         3:
         4:
         5:
           &STATE     ^EG.ga.SE.Garage.Zu$
         6:
         7:
   attr:
     cmdState:
     wait:
       0:
         0
       1:
         0
       2:
         0
       3:
         0
       4:
         0
       5:
         0
       6:
         5
       7:
         5
     waitdel:
   condition:
     0          ::InternalDoIf($hash,'EG.ga.SE.Garage.Auf','STATE') eq "on"
     1          ::InternalDoIf($hash,'EG.ga.SE.Garage.Zu','STATE') eq "on"
     2          ::InternalDoIf($hash,'EG.ga.RO.Garage','STATE') eq "opening"
     3          ::InternalDoIf($hash,'EG.ga.RO.Garage','STATE') eq "closing"
     4          ::InternalDoIf($hash,'EG.ga.RO.Garage','STATE') eq "opening" and ::InternalDoIf($hash,'EG.ga.SE.Garage.Auf','STATE') eq "on"
     5          ::InternalDoIf($hash,'EG.ga.RO.Garage','STATE') eq "closing" and ::InternalDoIf($hash,'EG.ga.SE.Garage.Zu','STATE') eq "on"
     6          ::InternalDoIf($hash,'EG.ga.SE.Garage.Schliessen','STATE') eq "on"
     7          ::InternalDoIf($hash,'EG.ga.SE.Garage.Oeffnen','STATE') eq "on"
   do:
     0:
       0          setreading EG.ga.RO.Garage state open
     1:
       0          setreading EG.ga.RO.Garage state closed
     2:
       0          set EG.ga.SI.Garage.Oeffnen TRIGGER
     3:
       0          set EG.ga.SI.Garage.Schliessen TRIGGER
     4:
       0          setreading EG.ga.RO.Garage state open
     5:
       0          setreading EG.ga.RO.Garage state closed
     6:
       0          setreading EG.ga.RO.Garage:FILTER=state!=closing state closing
     7:
       0          setreading EG.ga.RO.Garage:FILTER=state!=opening state opening
     8:
   helper:
     DEVFILTER  ^global$|^EG.ga.SE.Garage.Schliessen$|^EG.ga.RO.Garage$|^EG.ga.SE.Garage.Auf$|^EG.ga.SE.Garage.Zu$|^EG.ga.SE.Garage.Oeffnen$
     NOTIFYDEV  global|EG.ga.SE.Garage.Schliessen|EG.ga.RO.Garage|EG.ga.SE.Garage.Auf|EG.ga.SE.Garage.Zu|EG.ga.SE.Garage.Oeffnen
     event      off
     globalinit 1
     last_timer 0
     sleepdevice EG.ga.SE.Garage.Schliessen
     sleepsubtimer -1
     sleeptimer -1
     timerdev   EG.ga.SE.Garage.Zu
     timerevent on
     triggerDev EG.ga.SE.Garage.Schliessen
     timerevents:
       on
     timereventsState:
       state: on
     triggerEvents:
       off
     triggerEventsState:
       state: off
   internals:
     all         EG.ga.SE.Garage.Auf:STATE EG.ga.SE.Garage.Zu:STATE EG.ga.RO.Garage:STATE EG.ga.SE.Garage.Schliessen:STATE EG.ga.SE.Garage.Oeffnen:STATE
   perlblock:
   readings:
   trigger:
   uiState:
   uiTable:
Attributes:
   alias      di.EG.ga.RO.Garage
   do         always
   event-on-change-reading none
   room       Garage_Anbau
   wait       0:0:0:0:0:0:5:5


Verwendete "Signale":
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: MadMax-FHEM am 15 September 2020, 16:08:50
Gut so ganz hab ich das jetzt nicht nachvollzogen... ;)

Wichtig ist wohl eher zu sehen ob es Unterschiede im homebridge Log gibt, je nachdem worüber du schaltest...

Gruß, Joachim
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: ThiemoSt am 15 September 2020, 16:23:26
Ok, da bin ich wohl über Ziel hinausgeschossen ;-)

Mir ist gerade aufgefallen das sobald ich die App (keine Aktion ausgeführt!) starte folgende Punkte im Log erscheinen. Was heißt das? Es kommt nur beim Starten, später wiederholt sich das nicht mehr.
[9/15/2020, 4:09:38 PM] [FHEM] EG.ga.RO.Garage-TargetState value  not handled in values
[9/15/2020, 4:09:38 PM] [FHEM]   value:
[9/15/2020, 4:09:38 PM] [FHEM] UG.ga.RO.Garage-obstruction value  not handled in values
[9/15/2020, 4:09:38 PM] [FHEM]   value:
[9/15/2020, 4:09:38 PM] [FHEM] UG.ga.RO.Garage-TargetState value  not handled in values
[9/15/2020, 4:09:38 PM] [FHEM]   value: set_off


Hier über die App geöffnet:
[9/15/2020, 4:11:07 PM] [FHEM] EG.ga.RO.Garage: executing set cmd for TargetDoorState with value 0
[9/15/2020, 4:11:07 PM] [FHEM]   executing: http://10.29.10.31:8083/fhem?cmd=set%20EG.ga.RO.Garage%20opening&XHR=1
  2020-09-15 16:11:07 caching: EG.ga.RO.Garage-state: opening
[9/15/2020, 4:11:07 PM] [FHEM]     caching: CurrentDoorState: 2 (as number; means OPENING; from 'opening')
  2020-09-15 16:11:24 caching: EG.ga.RO.Garage-state: open
[9/15/2020, 4:11:24 PM] [FHEM]     caching: CurrentDoorState: 0 (as number; means OPEN; from 'open')


Und hier über FHEM geöffnet:
2020-09-15 16:12:25 caching: EG.ga.RO.Garage-state: opening
[9/15/2020, 4:12:25 PM] [FHEM]     caching: CurrentDoorState: 2 (as number; means OPENING; from 'opening')
  2020-09-15 16:12:42 caching: EG.ga.RO.Garage-state: open
[9/15/2020, 4:12:42 PM] [FHEM]     caching: CurrentDoorState: 0 (as number; means OPEN; from 'open')


Und dann auch noch einmal über die Fernbedienung:
2020-09-15 16:20:45 caching: EG.ga.RO.Garage-state: opening
[9/15/2020, 4:20:45 PM] [FHEM]     caching: CurrentDoorState: 2 (as number; means OPENING; from 'opening')
  2020-09-15 16:20:56 caching: EG.ga.RO.Garage-state: open
[9/15/2020, 4:20:56 PM] [FHEM]     caching: CurrentDoorState: 0 (as number; means OPEN; from 'open')


Meiner Meinung nach gibt es also keinen Unterschied im Log, egal wie das Tor geöffnet wird. Nur wenn über die App gibt es halt noch den eigentlichen Befehl für FHEM zum öffnen, bei den anderen beiden kommt dies ja manuell.
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: MadMax-FHEM am 15 September 2020, 17:07:41
Hmm, verwirrend und ich sehe leider auch keinen Unterschied...

Da muss wohl jemand mit homebridge und App usw. kucken oder (am besten) Andre (justme1968)...

Die Meldung bei der App: irgendwie gibt es wohl ein set_ (kenne ich bei Homematic als "Zwischenzustand": Aktor wird aufgefordert was zu tun -> set_ wenn der Aktor gemeldet hat: erledigt, dann ist das set_ vor dem Befehl weg)...

Und das steht halt nicht in der Liste möglicher Befehle -> das wird dann "angemosert"...

Welche Auswirkung (wenn) das hat kann ich leider nicht sagen...

Sorry, Joachim
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: ThiemoSt am 15 September 2020, 18:54:54
Ich habe glaube einen "Fehler" gefunden. Leider weiß ich nicht genau wie ich es beheben kann.

Und zwar habe ich in der Config UI gesehen dass das TargetDoorState nach einem Neustart immer auf 0 (=Tor auf) steht. Wenn das Tor dann auch wirklich auf Stand gibt es keine falsche Anzeige.
Wie bekomme ich es nun also hin das TargetDoorState entweder auf seinem alten Wert bleibt oder aber ich diesen aus FHEM heraus (z.B. alle x Minuten prüfen ob TargetDoorState = CurrentDoorState, wenn nein dann setzen) ändern kann?
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: Cybers am 09 März 2021, 12:35:02
Hallo,

gibt es zu dem Problem inzwischen eine Lösung. Bei mir wird auch der Status in der Home-App nach dem Neustart der Homebridge falsch angezeigt.

Gruß, Sascha
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: ThiemoSt am 09 März 2021, 12:39:23
Leider nein.
Habe auch das Problem das manche Werte falsch angezeigt werden nach einem Neustart.
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: MarkusN am 09 März 2021, 15:40:27
Ich klinke mich hier mal kurz mit meiner Frage ein:

Die Steuerung meines Garagentors ist umgesetzt über ein Tasmota Device welches am Tastereingang vom Rademacher Torantrieb hängt. Zwei HM-Sec-SC-2 dienen als "Endschalter" um den Zustand in FHEM korrekt zu erfassen. Gesteuert wird alles über ein DOIF, das list sieht folgendermaßen aus:

Internals:
   DEF        ([sensor_garage_zu] eq "closed" and [sensor_garage_auf] eq "open")
() ## Garage zu
DOELSEIF ([sensor_garage_zu] eq "open" and [sensor_garage_auf] eq "closed")
() ## Garage offen
DOELSEIF (["$SELF:set_open"] and [$SELF] eq "is_closed")
## DOELSEIF (["$SELF:set_open"])
(set sonoff7_ch1 on)
() ## Error nach 30 sekunden
DOELSEIF (["$SELF:set_closed"] and [$SELF] eq "is_open")
## DOELSEIF (["$SELF:set_closed"])
(set sonoff7_ch1 on)
() ## Error nach 30 sekunden
DOELSEIF ([sensor_garage_zu] eq "open" and [sensor_garage_auf] eq "open")
() ## Running
() ## Error nach 30 Sekunden
   DOIFDEV    ^global$|^sensor_garage_auf$|doif_garagentor|^sensor_garage_zu$|^doif_garagentor$
   FUUID      5e737ec6-f33f-b36e-414a-84b7f805746c5dfd
   MODEL      FHEM
   NAME       doif_garagentor
   NR         260
   NTFY_ORDER 50-doif_garagentor
   STATE      is_closed
   TYPE       DOIF
   VERSION    23466 2021-01-03 17:14:46
   READINGS:
     2021-03-09 10:22:45   Device          sensor_garage_zu
     2021-03-09 10:22:45   cmd             1
     2021-03-09 10:22:45   cmd_event       sensor_garage_zu
     2021-03-09 10:22:45   cmd_nr          1
     2021-03-06 10:37:58   e_doif_garagentor_STATE set_open
     2021-03-09 10:22:23   e_sensor_garage_auf_STATE open
     2021-03-09 10:22:45   e_sensor_garage_zu_STATE closed
     2020-08-19 15:35:39   mode            enabled
     2021-03-09 10:22:45   state           is_closed
     2021-03-09 10:22:45   wait_timer      no timer
   Regex:
     accu:
     cond:
       :
         0:
         1:
         2:
           "doif_garagentor:set_open" doif_garagentor:set_open
         3:
           "doif_garagentor:set_closed" doif_garagentor:set_closed
         4:
       doif_garagentor:
         0:
         1:
         2:
           &STATE     ^doif_garagentor$
         3:
           &STATE     ^doif_garagentor$
         4:
       sensor_garage_auf:
         0:
           &STATE     ^sensor_garage_auf$
         1:
           &STATE     ^sensor_garage_auf$
         2:
         3:
         4:
           &STATE     ^sensor_garage_auf$
       sensor_garage_zu:
         0:
           &STATE     ^sensor_garage_zu$
         1:
           &STATE     ^sensor_garage_zu$
         2:
         3:
         4:
           &STATE     ^sensor_garage_zu$
   attr:
     cmdState:
       0:
         is_closed
       1:
         is_open
       2:
         set_open
         error
       3:
         set_closed
         error
       4:
         running
         error
     wait:
       0:
         0
       1:
         0
       2:
         0
         30
       3:
         0
         30
       4:
         0
         30
     waitdel:
   condition:
     0          ::InternalDoIf($hash,'sensor_garage_zu','STATE') eq "closed" and ::InternalDoIf($hash,'sensor_garage_auf','STATE') eq "open"
     1          ::InternalDoIf($hash,'sensor_garage_zu','STATE') eq "open" and ::InternalDoIf($hash,'sensor_garage_auf','STATE') eq "closed"
     2          ::EventDoIf('doif_garagentor',$hash,'set_open',0) and ::InternalDoIf($hash,'doif_garagentor','STATE') eq "is_closed"
     3          ::EventDoIf('doif_garagentor',$hash,'set_closed',0) and ::InternalDoIf($hash,'doif_garagentor','STATE') eq "is_open"
     4          ::InternalDoIf($hash,'sensor_garage_zu','STATE') eq "open" and ::InternalDoIf($hash,'sensor_garage_auf','STATE') eq "open"
   do:
     0:
       0         
     1:
       0         
     2:
       0          set sonoff7_ch1 on
       1         
     3:
       0          set sonoff7_ch1 on
       1         
     4:
       0         
       1         
     5:
   helper:
     DEVFILTER  ^global$|^sensor_garage_auf$|doif_garagentor|^sensor_garage_zu$|^doif_garagentor$
     NOTIFYDEV  global|sensor_garage_auf|.*doif_garagentor.*|sensor_garage_zu|doif_garagentor
     event      rssi_at_hmlan: -84
     globalinit 1
     last_timer 0
     sleepdevice sensor_garage_auf
     sleepsubtimer 1
     sleeptimer -1
     timerdev   sensor_garage_zu
     timerevent rssi_at_hmlan: -84
     triggerDev sensor_garage_zu
     timerevents:
       rssi_at_hmlan: -84
     timereventsState:
       rssi_at_hmlan: -84
     triggerEvents:
       rssi_at_hmlan: -84
     triggerEventsState:
       rssi_at_hmlan: -84
   internals:
     all         sensor_garage_zu:STATE sensor_garage_auf:STATE doif_garagentor:STATE
   perlblock:
   readings:
   trigger:
   uiState:
   uiTable:
Attributes:
   cmdState   is_closed|is_open|set_open,error|set_closed,error|running,error
   event-on-change-reading .*
   genericDeviceType garage
   homebridgeMapping CurrentDoorState=state,values=is_closed:CLOSED;is_open:OPEN;set_open:OPENING;set_closed:CLOSING
TargetDoorState=state,cmds=OPEN:set_open;CLOSED:set_closed,values=is_closed:CLOSED;is_open:OPEN
   room       01_Aussen,95_Logik,96_homebridge
   setList    modus:set_open,set_closed
   siriName   Garage
   wait       0:0:0,30:0,30:0,30
   webCmd     modus


Die Steuerung funktioniert prinzipiell gut, und auch der Zustand des Tores (offen, geschlossen) wird korrekt in der Home App angezeigt. Siri scheint sich jedoch nicht wirklich um den Zustand zu scheren. Wenn man das Tor mit Siri öffnen lässt, das Tor vorher jedoch schon offen war, fährt das Tor zu. Ich würde erwarten dass Siri/die Home App erkennt dass das Tor bereits offen ist und nichts tut.
Ist das "by design", oder auf einen Fehler in meiner Konfiguration zurückzuführen?

Grüße,
Markus
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: Ralli am 09 März 2021, 15:50:57
Ich nutze dafür mehrere Devices. Zu den Hintergrundinformationen: Garage mit Hörmann-Antrieb, der Eingänge für hoch, runter und toggle kennt.

Den Zustand des Tores überwacht ein an einen HMW-Sensor angeschlossener Reedkontakt mit folgendem Mapping im Device GAR_Tor mit genericDeviceType=garage:


clear
CurrentDoorState=state,values=closed:1;open:0
TargetDoorState=Garagenoeffner_Dummy:state,values=/Hoch/:0;/Runter/:1,cmds=0:Hoch;1:Runter;4:Schalten


Den Garagenoeffner_Dummy verwende ich als UI-Element zur Steuerung über das FHEM-Frontend:


def Garagenoeffner_Dummy dummy
attr alias      Garage Fernbedienung
   cmdIcon    Hoch:control_centr_arrow_up Schalten:control_x Runter:control_centr_arrow_down
   devStateIcon Hoch:control_centr_arrow_up Schalten:control_x Runter:control_centr_arrow_down .*:rc_BLANK
   group      Taster
   icon       fts_garage_door_50
   room       Garage
   stateFormat {ReadingsVal($name,"state","")." ".ReadingsTimestamp($name,"state","")}
   webCmd     Hoch:Schalten:Runter


Mit dem folgenden DOIF werden die UI-Kommandos verarbeitet:


def DOIF_GaragenTuerOeffner DOIF ([Garagenoeffner_Dummy:"Schalten"]) (set CCU2_FB datapoint 13.PRESS_SHORT true)
DOELSEIF ([Garagenoeffner_Dummy:"Hoch"]) (set CCU2_FB datapoint 11.PRESS_SHORT true)
DOELSEIF ([Garagenoeffner_Dummy:"Runter"]) (set CCU2_FB datapoint 12.PRESS_SHORT true)
DOELSEIF ([GAR_Tor] eq "open") (setreading Garagenoeffner_Dummy state Hoch)
DOELSEIF ([GAR_Tor] eq "closed") (setreading Garagenoeffner_Dummy state Runter)


Die CCU2_FB datapoint 11-13 sind virtuelle Taster, die in der CCU mit den Schaltausgängen auf dem HMW für den Hörmann-Antrieb gepeert sind.
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: thoffma3 am 21 November 2021, 19:34:09
Hallo zusammen,

Dank der hier geposteten Homebridge Mappings habe ich meinen Garagen Shelly prima zum laufen gebracht und auch Apple Home funktioniert damit. 

Was mir jetzt noch fehlt ist der Status des Garagentors. Da das Tor über Shelly, einen Taster und eine Fernbedienung gesteuert wird brauche ich noch einem Sensor der zuverlässig erkennt wann das Tor auf oder zu ist.

Ich hab mir dazu ein fesnstersensor bestellt mit zigbee. Ich habe schon mehrere davon und wird sicher funktionieren.
Was mir allerdings unklar ist wie ich die beiden Geräte in fhem zusammenfassen kann. Der öffnungsstaus soll ja später nur ein Attribut in de, Garagentoröffner sein.

Wie macht ihr sowas? Ein dummy der die beiden Geräte abfragt/ steuert und ein entsprechendes homebridge Mapping hat. Oder geht das auch eleganter? kann ich dem Shelly gerät irgendwie ein Attribut hinzufügen das dann aus dem Fenster Sensor gesetzt wird?

Danke für Hinweise

Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: hoppel118 am 21 November 2021, 22:48:38
Moin,

schau mal unter HM-CC-RT-DN bei den Homebridge User Configs.

https://wiki.fhem.de/wiki/Homebridge_User_Configs

<Characteristic>=<Device>:<Reading>

Das geht ganz einfach. Mache ich an diversen Stellen so.

Gruß Hoppel
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: thoffma3 am 22 November 2021, 18:53:24
Danke. Das sieht ja einfach aus. Ich werde berichten wenn mein sensor da ist ob es funktioniert und dann gerne auch mal das mapping teilen
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: Floriky am 01 März 2022, 13:19:39
Hallo Zusammen,
damit es vielleicht jemand anderem hilft hier die Umsetzung unseres Garagentors. Ich habe mit einem Shelly zum einen den Zustand des Tors sowie die Ansteuerung als Taster umgesetzt. Der Antrieb ist ein Sommer S9080 base+. Für diesen benötigt man zusätzlich zum Auslesen des Zustands noch das Sommer Relay. Bilder der Verkabelung, vom FHEM WebEnd, den Einstellungen im Shelly und ein List meines Devices hänge ich mal an. Ich hoffe, dass es dem ein oder anderen ein wenig Arbeit erspart.


defmod MQTT2_shellyplus1_a8032abd6100 MQTT2_DEVICE shellyplus1_a8032abd6100
attr MQTT2_shellyplus1_a8032abd6100 DbLogExclude .*
attr MQTT2_shellyplus1_a8032abd6100 alias Garagentor
attr MQTT2_shellyplus1_a8032abd6100 devStateIcon 1.open:fts_garage_door_10 1.closed:fts_garage_door_100\

attr MQTT2_shellyplus1_a8032abd6100 devicetopic shellyplus1-a8032abd6100
attr MQTT2_shellyplus1_a8032abd6100 eventMap on:auf on:zu
attr MQTT2_shellyplus1_a8032abd6100 genericDeviceType garage
attr MQTT2_shellyplus1_a8032abd6100 group Garage
attr MQTT2_shellyplus1_a8032abd6100 homebridgeMapping CurrentDoorState=homebridgestate,values=0:CLOSED;;1:OPEN TargetDoorState=CurrentDoorState,cmds=OPEN:on;;CLOSED:on
attr MQTT2_shellyplus1_a8032abd6100 icon fts_garage
attr MQTT2_shellyplus1_a8032abd6100 jsonMap params_switch_0_aenergy_total:aenergy_total params_switch_0_apower:apower temperature_tC:temperature temperature_tF:0 params_wifi_sta_ip:ip
attr MQTT2_shellyplus1_a8032abd6100 model shellyPlus_1
attr MQTT2_shellyplus1_a8032abd6100 readingList $DEVICETOPIC/online:.* online\
  $DEVICETOPIC/events/rpc:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  $DEVICETOPIC/status/mqtt:.* { json2nameValue($EVENT, 'mqtt_', $JSONMAP) }\
  $DEVICETOPIC/status/sys:.* { json2nameValue($EVENT, 'sys_', $JSONMAP) }\
  $DEVICETOPIC/status/switch_0:.* { json2nameValue($EVENT, 'switch_0_', $JSONMAP) }\
shellyplus1_a8032abd6100:fhem/rpc:.* { json2nameValue($EVENT, 'rpc_', $JSONMAP) }\
shellyplus1_a8032abd6100:shellyplus1-a8032abd6100/debug/log:.* log
attr MQTT2_shellyplus1_a8032abd6100 setList toggle:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem","method":"Switch.Toggle","params": {"id":0}}\
  off:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem","method":"Switch.Set","params": {"id":0,"on":false}}\
  on:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem","method":"Switch.Set","params": {"id":0,"on":true}}\
  on-for-timer $DEVICETOPIC/rpc {"id":0,"src":"fhem","method":"Switch.Set","params": {"id":0,"on":true,"toggle_after":$EVTPART1}}\
  x_update:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem","method":"Shelly.Update","params": {"stage":"stable"}}\
  x_reboot:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem","method":"Shelly.Reboot"}\
  auf:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem","method":"Switch.Set","params": {"id":0,"on":true}}\
  zu:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem","method":"Switch.Set","params": {"id":0,"on":false}}
attr MQTT2_shellyplus1_a8032abd6100 stateFormat 1:TOR\
  FGStatus
attr MQTT2_shellyplus1_a8032abd6100 userReadings TOR {(ReadingsVal($name,"params_input_0_state","true") eq "true")?"open":"closed"},\
FGStatus {if (ReadingsVal($name,"params_input_0_state","") eq "true") {ReadingsTimestamp($name,"params_input_0_state","") =~ /^(\d+)-(\d+)-(\d+)\s(\d+:\d+):(\d+)$/;; return "Letzte Öffnung: am $3.$2.$1 um $4 Uhr"} else {ReadingsTimestamp($name,"params_input_0_state","") =~ /^(\d+)-(\d+)-(\d+)\s(\d+:\d+):(\d+)$/;; return "Letzte Schließung: am $3.$2.$1 um $4 Uhr"}},\
homebridgestate {(ReadingsVal($name,"params_input_0_state","true") eq "true")?1:0}
attr MQTT2_shellyplus1_a8032abd6100 webCmd auf:zu

setstate MQTT2_shellyplus1_a8032abd6100 1:closed\
  Letzte Schließung: am 01.03.2022 um 12:56 Uhr
setstate MQTT2_shellyplus1_a8032abd6100 2022-03-01 12:56:12 FGStatus Letzte Schließung: am 01.03.2022 um 12:56 Uhr
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-25 15:22:57 IODev MQTT2
setstate MQTT2_shellyplus1_a8032abd6100 2022-03-01 12:56:12 TOR closed
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-25 15:35:00 attrTemplateVersion 20211224
setstate MQTT2_shellyplus1_a8032abd6100 2022-03-01 12:56:12 dst shellyplus1-a8032abd6100/events
setstate MQTT2_shellyplus1_a8032abd6100 2022-03-01 12:56:12 homebridgestate 0

setstate MQTT2_shellyplus1_a8032abd6100 2022-03-01 12:56:12 method NotifyStatus
setstate MQTT2_shellyplus1_a8032abd6100 2022-03-01 07:04:29 online true
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-26 11:19:54 params_events_1_cfg_rev 18
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-26 11:19:54 params_events_1_component switch:0
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-26 11:19:54 params_events_1_event config_changed
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-27 13:12:05 params_events_1_id 0
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-26 11:19:54 params_events_1_restart_required false
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-26 11:19:54 params_events_1_ts 1645870794.73
setstate MQTT2_shellyplus1_a8032abd6100 2022-03-01 12:56:12 params_input_0_id 0
setstate MQTT2_shellyplus1_a8032abd6100 2022-03-01 12:56:12 params_input_0_state false
setstate MQTT2_shellyplus1_a8032abd6100 2022-03-01 07:04:29 params_mqtt_connected false
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-28 13:43:59 params_switch_0_id 0
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-28 13:43:59 params_switch_0_output false
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-28 13:43:59 params_switch_0_source timer
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-26 11:45:29 params_switch_0_temperature_tC 44.78
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-26 11:45:29 params_switch_0_temperature_tF 112.61
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-28 13:43:59 params_switch_0_timer_duration 1.00
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-28 13:43:59 params_switch_0_timer_started_at 1646052239.33
setstate MQTT2_shellyplus1_a8032abd6100 2022-03-01 11:18:27 params_sys_available_updates_beta_version 0.10.0-beta5
setstate MQTT2_shellyplus1_a8032abd6100 2022-03-01 12:56:12 params_ts 1646135772.68
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-26 11:18:21 params_wifi_rssi -47
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-26 11:18:21 params_wifi_ssid Porzellanbiene.de
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-26 11:18:21 params_wifi_status got ip
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-28 13:43:59 rpc_dst fhem
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-28 13:43:59 rpc_id 0
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-28 13:43:59 rpc_result_was_on false
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-28 13:43:59 rpc_src shellyplus1-a8032abd6100
setstate MQTT2_shellyplus1_a8032abd6100 2022-03-01 12:56:12 src shellyplus1-a8032abd6100
setstate MQTT2_shellyplus1_a8032abd6100 2022-02-28 13:43:58 state on



Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: hoppel118 am 01 März 2022, 21:42:02
@Floriky Super! Aber im Forum verschwindet das irgendwann. ;) Evtl. willst du dich mit deiner Lösung hier im Wiki verewigen?

https://wiki.fhem.de/wiki/Homebridge_User_Configs

Gruß Hoppel
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: Floriky am 02 März 2022, 13:35:16
Hallo Hoppel,
ja, das kann ich machen. Müsste sogar einen Account dafür haben. Ich schau es mir mal an.
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: hoppel118 am 02 März 2022, 17:21:36
Super, danke dir! ;)

Schönen Abend noch
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: Floriky am 03 März 2022, 15:18:13
Es ist vollbracht. ;) Vielleicht möchtest du ja mal drüber lesen und ihn ggf. korrigieren.
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: hoppel118 am 03 März 2022, 20:12:27
Super! Haben wir dort endlich auch mal ein Mapping für ein Garagentor...

Ist deine Umgebung wirklich so veraltet?

FHEM 5.7 Rev. 12191
homebridge 0.4.6
homebridge-fhem 0.2.48


Bei mir läuft das:

Latest Revision: 25634

root@omv4:~# npm view homebridge version
1.4.0
root@omv4:~# npm view homebridge-fhem version
0.5.33


Oder hattest du das nicht gepflegt?

Danke auf jeden Fall im Namen der gesamten Community! ;)

Viele Grüße Hoppel
Titel: Antw:homebridgeMapping genericDeviceType Garage/GarageDoorOpener
Beitrag von: Floriky am 03 März 2022, 23:20:16
Gerne! Freu mich, dass ich auch mal was beitragen konnte. Habe hier schon so viel profitiert.

Hatte die Angaben nicht gepflegt, da sie nicht von mir stammen aber ich nichts darunter einfügen konnte. Hab Sie jetzt auf die meines Systems (nahezu identisch mit deinen) aktualisiert.