homebridge/homekit

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

Vorheriges Thema - Nächstes Thema

budy

@justme1968: ich weiß...  ;) Ich habe meine AppleID auf zwei oder drei Geräten und alle funktionieren mit der homebridge. Und eben die drei eingeladenen...
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

justme1968

#676
0.2.23 wäre eigentlich richtig aber mit --debug gestartet muss nach:[2016-06-22 19:51:44] [FHEM] SeitenMarkise: executing set cmd for TargetPosition with value 9 noch eine zeile mit value: 9 mapped to 0.09 kommen und dann das set in fhem mit 0.09 statt 9.

ich habe die eingecheckte version noch mal aktualisiert und die debug meldungen verbessert.

wenn di im homebridgeMapping attribut für CurrentPosition und für TargetPosition den factor angegeben hat wird auf dem hinweg mit dem factor multipliziert und auf dem rückweg durch den faktor geteilt.

unabhängig davon sind mir noch zwei dinge aufgefallen.
- bei CurrentPosition musst du control nicht angeben. es wird ja nichts gesetz sondern nur gelesen.
- gibt es wirklich ein reading control? wenn nein musst du bei TargetPosition für das reading auch state angeben.

gruss
  andre

ps: die ausgaben müssen dann so aussehen:

auf dem weg fhem -> homebridge:  2016-06-22 20:32:31 caching: rol-state: 0.18
[Wed Jun 22 2016 20:32:31 GMT+0200 (CEST)] [FHEM Test4] rol-state factor: value 0.18 mapped to 18
[Wed Jun 22 2016 20:32:31 GMT+0200 (CEST)] [FHEM Test4]     caching: CurrentPosition: 18 (as number; from '0.18')
[Wed Jun 22 2016 20:32:31 GMT+0200 (CEST)] [FHEM Test4] rol-state factor: value 0.18 mapped to 18
[Wed Jun 22 2016 20:32:31 GMT+0200 (CEST)] [FHEM Test4]     caching: TargetPosition: 18 (as number; from '0.18')


und auf dem weg homebridge -> fhem:[Wed Jun 22 2016 20:32:54 GMT+0200 (CEST)] [FHEM Test4] rol: executing set cmd for TargetPosition with value 17
[Wed Jun 22 2016 20:32:54 GMT+0200 (CEST)] [FHEM Test4]   value: 17 mapped to 0.17
[Wed Jun 22 2016 20:32:54 GMT+0200 (CEST)] [FHEM Test4]   executing: http://10.0.1.4:8083/fhem?cmd=set%20rol%20control%200.17&XHR=1
  2016-06-22 20:32:54 caching: rol-state: 0.17
[Wed Jun 22 2016 20:32:54 GMT+0200 (CEST)] [FHEM Test4] rol-state factor: value 0.17 mapped to 17
[Wed Jun 22 2016 20:32:54 GMT+0200 (CEST)] [FHEM Test4]     caching: CurrentPosition: 17 (as number; from '0.17')
[Wed Jun 22 2016 20:32:54 GMT+0200 (CEST)] [FHEM Test4] rol-state factor: value 0.17 mapped to 17
[Wed Jun 22 2016 20:32:54 GMT+0200 (CEST)] [FHEM Test4]     caching: TargetPosition: 17 (as number; from '0.17')

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

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

aski71

Very strange.
Nochmal npm install gemacht.
0.2.24 angezeigt bekommen.

Mapping ist jetzt:

CurrentPosition=Seitenmarkise.1.LEVEL,factor=100 TargetPosition=control::control,factor=100


Das Reading control existiert.

--debug Ausgabe ist:

2016-06-22 20:48:16] [FHEM] SeitenMarkise delaying command [object Object] with value 75
[2016-06-22 20:48:17] [FHEM] SeitenMarkise: executing set cmd for TargetPosition with value 75
[2016-06-22 20:48:17] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20SeitenMarkise%20control%2075&XHR=1
  2016-06-22 20:48:18 caching: SeitenMarkise-Seitenmarkise.1.LEVEL: 75
[2016-06-22 20:48:18] [FHEM] SeitenMarkise-Seitenmarkise.1.LEVEL factor: value 75 mapped to 7500
[2016-06-22 20:48:18] [FHEM]     caching: CurrentPosition: 7500 (as number; from '75')
  2016-06-22 20:48:18 caching: SeitenMarkise-control: 75

justme1968

sehr komisch...

zeig mal bitte die ausgabe beim start wenn homebridgeMapping ausgelesen wird und die services und characteristics angelegt werden.

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

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

aski71

homebridge -U /var/homebridge/ --debug
*** WARNING *** The program 'nodejs' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=nodejs>
*** WARNING *** The program 'nodejs' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=nodejs&f=DNSServiceRegister>
[2016-06-22 21:07:02] Loaded plugin: homebridge-fhem
homebridge API version: 2
[2016-06-22 21:07:02] Registering platform 'homebridge-fhem.FHEM'
[2016-06-22 21:07:02] ---
[2016-06-22 21:07:02] Loaded config.json with 0 accessories and 1 platforms.
[2016-06-22 21:07:02] ---
[2016-06-22 21:07:02] Loading 1 platforms...
[2016-06-22 21:07:02] [FHEM] Initializing FHEM platform...
starting longpoll: http://127.0.0.1:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1466622424152
[2016-06-22 21:07:04] [FHEM] Checking genericDeviceType...
[2016-06-22 21:07:04] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[2016-06-22 21:07:04] [FHEM] Fetching FHEM devices...
[2016-06-22 21:07:04] [FHEM] fetching: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20room=Homekit&XHR=1
[2016-06-22 21:07:04] Loading 0 accessories...
Server listening on: http://<ip>:8082
[2016-06-22 21:07:04] [FHEM] got: 24 results

[....]

[2016-06-22 21:07:05] [FHEM] homebridgeMapping: CurrentPosition=Seitenmarkise.1.LEVEL,factor=100 TargetPosition=control::control,factor=100
[2016-06-22 21:07:05] [FHEM] mappings for SeitenMarkise: { CurrentPosition: { reading: 'Seitenmarkise.1.LEVEL', factor: '100' },
  TargetPosition: { reading: 'control', cmd: 'control', delay: true, factor: '100' } }
[2016-06-22 21:07:05] [FHEM] SeitenMarkise is blind
[2016-06-22 21:07:05] [FHEM] SeitenMarkise has
[2016-06-22 21:07:05] [FHEM]   CurrentPosition [Seitenmarkise.1.LEVEL]
[2016-06-22 21:07:05] [FHEM]   TargetPosition [control]
  2016-06-22 21:07:05 caching: SeitenMarkise-Seitenmarkise.1.LEVEL: 1.000000
[2016-06-22 21:07:05] [FHEM] SeitenMarkise-Seitenmarkise.1.LEVEL factor: value 1 mapped to 100
[2016-06-22 21:07:05] [FHEM]     caching: CurrentPosition: 100 (as number; from '1.000000')
  2016-06-22 21:07:05 caching: SeitenMarkise-control: 1.000000
[2016-06-22 21:07:05] [FHEM] SeitenMarkise-control factor: value 1 mapped to 100
[2016-06-22 21:07:05] [FHEM]     caching: TargetPosition: 100 (as number; from '1.000000')

[.....]

[2016-06-22 21:07:05] [FHEM] Initializing platform accessory 'SeitenMarkise'...
[2016-06-22 21:07:05] [FHEM] creating services for SeitenMarkise
[2016-06-22 21:07:05] [FHEM]   information service for SeitenMarkise
[2016-06-22 21:07:05] [FHEM]     manufacturer, model and serial number characteristics for SeitenMarkise
[2016-06-22 21:07:05] [FHEM]   WindowCovering service for SeitenMarkise
[2016-06-22 21:07:05] [FHEM]     CurrentPosition characteristic for SeitenMarkise:Seitenmarkise.1.LEVEL
[2016-06-22 21:07:05] [FHEM]       initial value is: 100 (number)
[2016-06-22 21:07:05] [FHEM]       props: { format: 'uint8',
  unit: 'percentage',
  minValue: 0,
  maxValue: 100,
  minStep: 1,
  perms: [ 'pr', 'ev' ] }
[2016-06-22 21:07:05] [FHEM]     TargetPosition characteristic for SeitenMarkise:control
[2016-06-22 21:07:05] [FHEM]       initial value is: 100 (number)
[2016-06-22 21:07:05] [FHEM]       props: { format: 'uint8',
  unit: 'percentage',
  minValue: 0,
  maxValue: 100,
  minStep: 1,
  perms: [ 'pr', 'pw', 'ev' ] }

justme1968

sehr seltsam das alles...

bitte nimm mal die angehängte version und kopiere sie einfach über das installierte homebridge-fhem index.js file. bei setzen des wertes sollte eine zusätzliche ausgabe erscheinen.

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

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

aski71

Ja. Mit dieser index.js funktioniert es.
Ich hatte definitiv eine andere.
Warum auch immer.  :o

justme1968

das ist exakt die eingecheckte plus zwei zusätzliche log zeilen.

kann es sein das du mehrere installationen hast und die falsche gestattest hattest ?

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

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

aski71

Nicht dass ich wüsste. Ich habe immer mit

# homebridge -U /var/homebridge --debug

gestartet.

Die originale, die ich ersetzt habe, anbei.

justme1968

das ist noch die ganz alte version. sehr komisch...

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

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

aski71

Ich habe gerade tatsächlich noch einen zweiten Pfad gefunden!
Diese index.js war tatsächlich bis auf 2 Zeilen identisch.
Mir ist aber gerade nicht wirklich klar, warum das passiert ist.

Noch eine Verständnisfrage:

Die Markisen sind ja bei mir mit genericDeviceType blinds eingerichtet.
Nun finde ich den Service "blinds" gar nicht in der HomeKitTypes.js. Und einige andere der genericDeviceTypes auch nicht.
Ist das normal?


justme1968

die genericDeviceTypes waren/sind als allgemeine beschreibung gedacht die nicht homekit spezifisch ist. intern wird sie dann auf die homekit spezifischen typen umgesetzt: 2181                                                 switch: 'Switch',
2182                                                 outlet: 'Outlet',
2183                                                  light: 'Lightbulb',
2184                                                  blind: 'WindowCovering',
2185                                                contact: 'ContactSensor',
2186                                            thermometer: 'TemperatureSensor',
2187                                             thermostat: 'Thermostat',
2188                                                 garage: 'GarageDoorOpener',
2189                                                 window: 'Window',
2190                                                   lock: 'LockMechanism'


es ist aber möglich auch direkt die homekit typen zu verwenden wenn man tiefer einteigen will.

gruss
  andre

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

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

aski71

Ahja. Verstehe.  :)

Allerdings habe ich jetzt das nächste Problem in Eve.

Eve hat soeben beschlossen, fast alle Raumzuordnungen zu vergessen und auch diese Devices nicht mehr unter "Auf einen Blick" oder in "Typen" anzuzeigen.
Wenn ich unter Einstellungen schaue, finde ich Homebridge mit allen eingerichteten Geräten, aber alle problematischen befinden sich "im Raum '(null)'" und können auch nicht mehr anders zugeordnet werden.
Hatte das schon jemand?

aski71

So. Scheint jetzt zu funzen.
Wirklich sehr geiles Plugin! Danke dafür!

Damit kann man echt schon viel anfangen.
Aber da muss Apple noch viel Gehirnschmalz investieren, bis das rund wird.

Siri kann zwar jetzt dimmen und die Markisen bewegen.
Wenn ich allerdings nun sage: "Hauptmarkise runter" bewegt Siri nur in 5% Schritten.
Ebenso hoch. Ist auf Dauer etwas mühsam. Während sie beim Dimmer artig die Prozentzahl anfährt, die man ihr sagt, versteht sie Prozentansagen bei den Markisen überhaupt nicht. Oder kann man da irgendwo noch was tunen, was ich nur nicht gefunden habe.

Oder Fensterkontakte:
Da kriege ich nur den Status "schließend" oder "öffnend" statt "geschlossen" oder "offen".
Und jedesmal, wenn ich die Balkontüre öffne oder schließe, sagt Homekit in der Mitteilungszentrale "Die Balkontür wurde geöffnet."  :)

Auch etwas gewöhnungsbedürftig:
Wenn ich mit Harmony meine Anlage ausschalten will, muss ich sagen "Harmony ausschalten einschalten."  ;D


justme1968

rauf und runter sind bei rollläden relative angaben. sie wie bei zimmern heller und dunkler. beides geht mit und ohne % angabe.

um einen rollladen auf eine absolute position zu fahren kann man 'öffne auf xx%' sagen. ganz auf und ganz zu geht mit öffne und schliessen.

fensterkontakte sind nicht vom typ fenster (das sind fenster mit motor. deshalb die beweung!) sondern vom typ contact bzw. ContactSensor. diesem contact sensor konfiguriert man dann zusätzlich zur ContactSensorState characteristic noch eine CurrentDoorState characteristic und dann gibt es auch offen und geschlossen. weiter oben gibt es ein beispiele dazu.

das der status im den mitteilungen nicht stimmt liegt auch an der falschen characteristic.

das mit der harmony hängt an der konfiguration bzw. am namen.

siri versteht eigentlich sehr viel. wenn man das richtige wort findet. als letzter ausweg bei namens oder verständnis problemen hilft es fast immer sich siri szenen anzulegen.

gruss
  andre

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

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