homebridge/homekit

Begonnen von justme1968, 01 Februar 2016, 16:16:37

Vorheriges Thema - Nächstes Thema

ducdarky

Im Moment ist es mir gar nicht wichtig, hier etwas zu überschreiben, ich habe die Daten ja in FHEM, wenn auch unter anderen Bezeichnungen. In Zukunft wäre es schon gut, wenn die Angaben in den Homekit-Geräten passen würden, sehr gern auch rein intern eingetragen.
Ich habe mal ein paar Screenshots gemacht.  ;)
Man kann sehen, dass beide Apps zwei getrennte Services unter dem gleichen Namen aufgemacht haben. Wenn man Siri jetzt nach dem Ladezustand fragt, kommt die richtige Antwort.

justme1968

@chseeliger: nein das kannst du nicht umdrehen weil siri auf und zu intern umrechnet und als 100 und 0 weitergibt. wenn homebridge-fhem eine 100 bekommt ist nicht mehr rauszubekommen ob es ein 100 war das durch ein auf zustande kommen ist oder ein gesprochenes 100 das zu meint.

@ducdarky: ich schaue das ich die fehlermeldung noch weg bekomme und checke es dann erst mal so ein.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

chseeliger

@Andre: ich habe es gerade mal ausprobiert und scheitere nicht an auf und zu, um ehrlich zu sein. So sieht mein Device im Moment aus:



    "Attributes": {
      "IODev": "CUL1",
      "alias": "Küche Rollo Fenster",
      "autoReadReg": "4_reqStatus",
      "devStateIcon": "up:fts_shutter_10@green down:fts_shutter_100@black 9\u005cd.*:fts_shutter_10 8\u005cd.*:fts_shutter_20 7\u005cd.*:fts_shutter_30 6\u005cd.*:fts_shutter_40 5\u005cd.*:fts_shutter_50 4\u005cd.*:fts_shutter_60 3\u005cd.*:fts_shutter_70 2\u005cd.*:fts_shutter_80 1\u005cd.*:fts_shutter_90 0\u005cd.*:fts_shutter_100",
      "eventMap": "on:up off:down",
      "expert": "2_raw",
      "firmware": "2.11",
      "genericDeviceType": "blind",
      "homebridgeMapping": "CurrentPosition=position,minVal=0,maxVal=100,minStep=1 TargetPosition=,invert=0,cmds=100:off;0:on",
      "model": "HM-LC-BL1-FM",
      "param": "levelInverse",
      "peerIDs": "00000000,57585D03,57585D04,",
      "rollo": "Rollos",
      "room": "Kueche,CUL_HM,Homekit",
      "serialNr": "OEQ0549076",
      "siriName": "Kueche Fenster",
      "subType": "blindActuator",
      "userReadings": "position {100-ReadingsVal($NAME,\u0022pct\u0022,\u00220\u0022)}",
      "userattr": "rollo rollo_map structexclude",
      "webCmd": "statusRequest:up:down:stop"


Da ich mit invert keinerlei Veränderung hinbekommen habe, habe ich mir für CurrentPosition ein UserReading "position" erzeugt, was den Wert von "pct" umdreht.

Damit ist das Verhalten wie folgt:

- Status offen und geschlossen wird korrekt angezeigt
- Status offen und geschlossen lässt sich korrekt über Homekit setzen
- Gebe ich einen Prozentwert in Homekit vor, wird dieser genau falschherum übermittelt (Schieberegler auf "75% geöffnet" führt ein "set <device> pct 25" aus:

homebridge --debug output:

[2017-12-29 20:56:30] [FHEM] eg.ku.ro.Fenster delaying command TargetPosition with value 75
[2017-12-29 20:56:30] [FHEM] query: CurrentPosition for eg.ku.ro.Fenster-position
[2017-12-29 20:56:30] [FHEM]   cached: 25 (as number')
[2017-12-29 20:56:30] [FHEM] query: TargetPosition for eg.ku.ro.Fenster-pct
[2017-12-29 20:56:30] [FHEM]   cached: 75 (as number')
[2017-12-29 20:56:30] [FHEM] query: CurrentPosition for eg.ku.ro.Fenster-position
[2017-12-29 20:56:30] [FHEM]   cached: 25 (as number')
[2017-12-29 20:56:31] [FHEM] eg.ku.ro.Fenster: executing set cmd for TargetPosition with value 75
[2017-12-29 20:56:31] [FHEM]   value: 75 inverted to 25
[2017-12-29 20:56:31] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20eg.ku.ro.Fenster%20pct%2025&fwcsrf=csrf_802305789828868&XHR=1


fhem log output:

2017.12.29 20:56:31 3: CUL_HM set eg.ku.ro.Fenster pct 25


Leider hat mein invert=0 oder invert=1 scheinbar keinen Effekt, egal ob in CurrentPosition oder TargetPosition.

Gibt es eine Möglichkeit, im homebridgeMapping zu sagen, dass der übermittelte Wert umgedreht werden soll - sowas wie TargetPosition={100-CurrentPosition} oder so? (also eigentlich das, was ich von invert=1 erwartet hätte... ;-) )

Typ1er

hast du dein Rollo richtig angeschlossen, so war es bei mir am Anfang auch, hab dann die Richtung für auf und Ab mal getauscht und alles war ok. Sowohl in Homekit als auch in FHEM.

chseeliger

das ist tatsächlich der Grund - mein Problem ist, dass der Aktor im Rollokasten verbaut ist und ich den eigentlich nicht mehr aufmachen möchte... ;-)

justme1968

@ducdarky: ich denke ich habe den fehler behoben und das ganze eingecheckt.

@chseeliger: bitte mal mit --denbug starten und in der ausgabe schauen ob invert zurück gesetzt wird.
zur not kannst du das komplette homebridgeMapping mit clear beginnen lassen um alle automatisch angelegten mappings zu löschen. danach kannst du dann alles ohne invert konfigurieren.

aber ich vermute das es immer an irgendeiner stelle nicht passt wenn dein aktor falsch rum eingebaut ist. langfristig solltest du vielleicht doch überlegen das in ordnung zu bringen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

chseeliger

Hallo Andre,

im Grunde bin ich jetzt schon ziemlich weit:

- der Status wird immer korrekt angezeigt (egal ob pct = 0, 100 oder irgendwas dazwischen)
- bei Klick auf das Homekit-Icon des Rollos wird immer korrekt geöffnet oder geschlossen
- Siri reagiert korrekt auf "Öffne/Schließe Rollo..."

Das Einzige, was eben noch nicht will ist die Angabe von %-Werten per Schieberegler/Siri in Homekit, da hier z.B. 78% = 22%, etc.

Das sind die relevanten Attribute des Devices:


eventMap on:up off:down
homebridgeMapping CurrentPosition=position TargetPosition=position,cmds=100:off;0:on
param levelInverse
userReadings position {100-ReadingsVal($NAME,"pct",0)}


Wenn ich Deine Syntaxbeschreibung vom Anfang dieses Threads richtig verstehe, kann ich doch für den Weg Homebridge->FHEM auch mit PERL arbeiten, oder? Dann müsste ich doch auch den Wert neu berechnen können, den FHEM in den set-Befehl übernimmt, oder? Ich habe nur noch nicht verstanden, wie die korrekte Syntax dafür wäre. Kannst Du mir damit noch auf die Sprünge helfen?

Viele Grüße
Christoph

DeeSPe

#2707
Ich habe heute mal wieder homebridge und homebridge-fhem aktualisiert.
Danach war/ist meine komplette Konfiguration zerschossen.
Nach einigen Stunden des Zurücksetzen von homebridge und Neuaufbau des HomeKit Raums bin ich dann über das scheinbare Problem gestolpert.

Ich habe/hatte viele HUEDevice(s) in HomeKit mit default Mapping.
Jeder Mal wenn ich z.B. ein HUEDevice modelid=LST002 oder modelid=LCT010 dem HomeKit Raum hinzufüge zerlegt es meine komplette homebridge. Und das soweit dass ich die homebridge aus HomeKit entfernen und den persist Ordner löschen muss. Dann homebridge neu zu HomeKit hinzufügen. Solange eins der genannten HUEDevice(s) im HomeKit Raum ist lässt sich die homebridge auch nicht zu HomeKit hinzufügen.
Nun habe ich testweise mal das Mapping einer dieser Lampen mit etwas ganz einfachen überschrieben:
clear On=state,cmdOn=on,cmdOff=off,valueOn=/on|dim.*/
Und schon geht die Lampe in HomeKit und zerschiesst nicht die komplette Konfig.
Sobald ich das Custom Mapping wieder rausnehme zerschiesst es wieder die Konfig.

Wie gesagt, diese Analyse hat mich jetzt Stunden beschäftigt und meine HomeKit Konfig ist immer noch nicht wieder voll lauffähig. :(

Ich hoffe Andre kann was dazu sagen.

Gruß
Dan

EDIT: modelid=LLC010 funktioniert mit default Mapping problemlos.
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

justme1968

@chseeliger: wenn invert gesetzt ist gilt das für jeden wert. wenn as nicht geht muss ich mir das anschauen.

@DeeSPe: sorry. beim letzten commit ist aus versehen das automatisch mapping für CT/ColorTemperature mit rein gerutscht. das war noch nicht fertig.

hab es eben wieder raus genommen. bitte mach noch mal ein update von homebridge-fhem.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

DeeSPe

Zitat von: justme1968 am 30 Dezember 2017, 09:54:50
@DeeSPe: sorry. beim letzten commit ist aus versehen das automatisch mapping für CT/ColorTemperature mit rein gerutscht. das war noch nicht fertig.

hab es eben wieder raus genommen. bitte mach noch mal ein update von homebridge-fhem.

Puh, da bin ich ja beruhigt dass es wirklich nicht an mir lag.
Gerade das Update eingespielt und nun funktioniert alles wie vorher. ;)
Hat nur eine Weile gedauert 83 Geräte wieder einzusortieren und die Szenen wieder anlegen.

Danke für's schnelle Korrigieren Andre.

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

ducdarky

@justme1968: Läuft super bei mir! Keine Fehlermeldungen mehr vorhanden. Vielen Dank.

PsychoD

Nabend zusammen,

erstmal 1000 Dank an Andre, ich bin seit fast er ersten Version dabei und es klappt wirklich gut! :) Gerade durch Siri gewinnt die Automatisierung sehr an Usability und der WAF steigt.

Ich habe nur ein Problem: Es kommt in unregelmäßigen Abständen vor, dass die Devices in der Home-App auf "Aktualisieren" stehen, oder sogar auf "Keine Antwort". Dann dauert es einige Sekunden bis Minuten, und ich kann alles normal schalten. Natürlich tritt es immer genau dann auf, wenn ich zeigen will wie cool es funktioniert, ist klar  ;D ;D ;D

Habt ihr das auch? Kann ich dem Abhilfe schaffen? ich weiß auch nicht genau wie ich es debuggen könnte...

Viele Grüße
Psy

justme1968

das hat ziemlich sicher nichts direkt mit homebridge oder homebridge-fhem zu tun sondern ganz allgemein mit dem netzwerk und mdns/bonjour.

in der ausgabe von homebridge-fhem siehst du genau wann die anfragen von homekit rein kommen. alles vorher ist netzwerk.

oft hilft es die home app zwangsweise zu beenden und neu zu starten. dann wird scheinbar die suche direkt neu gestartet und es geht deutlich schneller als einfach nur zu warten.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

PsychoD

Danke dann hab ich da mal ein Auge drauf.

dikay

Zitat von: PsychoD am 01 Januar 2018, 20:00:22
Ich habe nur ein Problem: Es kommt in unregelmäßigen Abständen vor, dass die Devices in der Home-App auf "Aktualisieren" stehen, oder sogar auf "Keine Antwort". Dann dauert es einige Sekunden bis Minuten, und ich kann alles normal schalten. Natürlich tritt es immer genau dann auf, wenn ich zeigen will wie cool es funktioniert, ist klar  ;D ;D ;D

Ich habe/hatte das Problem auch seit einiger Zeit.
Da meine FHEM Installation in einem anderen VLAN steht als meine Clients und ich kein IPv6 nutze (WLAN APs und Switch ohne IPv6), habe ich jetzt IPv6 komplett deaktiviert, sowohl in meiner FHEM VM als auch im Avahi Bonjour Gateway.

Interfaces konfigurieren
https://wiki.debianforum.de/IPv6-Unterstützung_unter_Linux_deaktivieren

echo "net.ipv6.conf.all.disable_ipv6=1" > /etc/sysctl.d/disable-ipv6.conf

reboot oder direkt aktivieren:
sysctl -p /etc/sysctl.d/disable-ipv6.conf

Avahi konfigurieren
sed -i '/^use-ipv6=/s/=.*/=no/' /etc/avahi/avahi-daemon.conf
reboot


Bisher funktioniert es seit einigen Stunden besser. Ich werde das mal weiter beobachten...

Viele Grüße
dikay