Apple Homekit: die Hoffnung stirbt zuletzt

Begonnen von eldrik, 23 Januar 2015, 13:57:07

Vorheriges Thema - Nächstes Thema

bgewehr

FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

charly166

Hallo bgewehr,

wenn dein letzter Kommentar für mich gemeint war - herzlichen Dank erstmal!
Das Attribut genericDeviceType steht bereits auf "blind".
Viele Grüße

Charly
--- FHEM 5.9 Docker Image fhem/fhem-docker auf Diskstation ---

bgewehr

Zitat von: charly166 am 11 November 2016, 07:53:31
Hallo bgewehr,

wenn dein letzter Kommentar für mich gemeint war - herzlichen Dank erstmal!
Das Attribut genericDeviceType steht bereits auf "blind".
Viele Grüße

Charly
Ja, sorry, habe ich danach auch gesehen, der json Text war am iPhone etwas durcheinander...

Ich habe homematic blinds benutzt, das ging sofort. Leider ist bei mir 100% = ganz unten und bei HomeKit ganz oben...
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

justme1968

bei homekit (und auch bei homematic) ist 100% offen (hell) und 0% zu (dunkel). wie bei einem dimmer.

man kann bei homematic levelInverse setzen um zahlen zu invertieren und im homebridgeMapping kann man invert=1 für CurrentPosition und TargetPosition setzen.

mit einem von beiden oder beiden sollte man jede richtung oder falsch einbau in den griff bekommen.

ich meine oben im thread gibt es beispiele für die richtung und auch für alle möglichen aktoren. auch für aktoren die nur auf und zu können. diese eventuell mit hilfe des ROLLO moduls (sehe wiki).

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

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

charly166

Hallo Andre,

habe in deinem letzten Post das ROLLO-Modul aufgeschnappt und sogleich ausprobiert. Setze ich dies ein, kann ich darüber via HomeKit die Rollos schalten (habe zwar ebenfalls noch das Problem mit der Invertierung, werde ich aber wohl noch hinbekommen).
Viele Grüße und vielen Dank

Charly

PS: Hier mein Code, sollte noch jemand das Problem mit  UniRoll haben ...
1. UniRoll definieren:
define WZ_ROLLO_L UNIRoll BCFA 0
attr WZ_ROLLO_L IODev CUL868
attr WZ_ROLLO_L devStateIcon up:shutter_open down:shutter_closed stop:shutter_halfopen
attr WZ_ROLLO_L genericDeviceType blind
attr WZ_ROLLO_L group WZ_ROLLADEN
attr WZ_ROLLO_L icon shutter_halfopen
attr WZ_ROLLO_L model R_23700
attr WZ_ROLLO_L rMax 21
attr WZ_ROLLO_L rMin 0
attr WZ_ROLLO_L rPos 0
attr WZ_ROLLO_L room FS20,Wohnzimmer
attr WZ_ROLLO_L sendStopBeforeCmd 0
attr WZ_ROLLO_L useRolloPos 1
attr WZ_ROLLO_L webCmd up:stop:down


2. ROLLO-Modul:
define WZ_ROLLLADEN_L ROLLO
attr WZ_ROLLLADEN_L autoStop 0
attr WZ_ROLLLADEN_L commandDown set WZ_ROLLO_L down
attr WZ_ROLLLADEN_L commandStop set WZ_ROLLO_L stop
attr WZ_ROLLLADEN_L commandUp set WZ_ROLLO_L up
attr WZ_ROLLLADEN_L devStateIcon open:fts_shutter_10:closed closed:fts_shutter_100:open half:fts_shutter_50:closed drive-up:fts_shutter_up@red:stop drive-down:fts_shutter_down@red:stop position-100:fts_shutter_100:open position-90:fts_shutter_80:closed position-80:fts_shutter_80:closed position-70:fts_shutter_70:closed position-60:fts_shutter_60:closed position-50:fts_shutter_50:closed position-40:fts_shutter_40:open position-30:fts_shutter_30:open position-20:fts_shutter_20:open position-10:fts_shutter_10:open position-0:fts_shutter_10:closed
attr WZ_ROLLLADEN_L excessBottom 2
attr WZ_ROLLLADEN_L excessTop 4
attr WZ_ROLLLADEN_L genericDeviceType blind
attr WZ_ROLLLADEN_L resetTime 0
attr WZ_ROLLLADEN_L room FS20,Homekit,Wohnzimmer
attr WZ_ROLLLADEN_L secondsDown 21
attr WZ_ROLLLADEN_L secondsUp 21
attr WZ_ROLLLADEN_L switchTime 1
attr WZ_ROLLLADEN_L type normal
attr WZ_ROLLLADEN_L webCmd open:closed:half:stop:position

--- FHEM 5.9 Docker Image fhem/fhem-docker auf Diskstation ---

justme1968

zum invertieren:attr <name> homebridgeMapping CurrentPosition=invert=1 TargetPosition=invert=1

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

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

thymjan

#2286
Es wurde schon mal erwähnt: Der Wert für luminosity muss evtl. skaliert werden.
https://forum.fhem.de/index.php/topic,32652.msg398537.html#msg398537

Aktuell habe ich zum Beispiel in fhem den Wert für luminosity= 0,0304 lux, in der home app wird dieser als 0,115 lux angezeigt.

Warum ist das so? Wird für luminosity eine andere Einheit erwartet?

Nun habe ich bei meinem Helligkeitssensor ein User-Reading angelegt und weis nun nicht weiter:
attr TSL2561 userReadings helligkeit { sprintf("%.8f", ReadingsVal("TSL2561","luminosity",0)*0.265)}

Kann mir jemand einen Tipp geben, wie ich diesen Wert "helligkeit" der homebridge als luminosity verkaufen kann?


thymjan

Habe es jetzt folgendermaßen gelöst:

userReadings wie im vorhergehenden Beitrag. Und dann
homebridgeMapping CurrentAmbientLightLevel=helligkeit

homebridge einmal neu starten, dann wird der umgerechnete Faktor in der home app angezeigt.

Wozu es den Umrechnungsfaktor 0.265 gibt, ist mir aber nach wie vor schleierhaft.

justme1968

den faktor von 0.265 gibt es deswegen: http://www.fhemwiki.de/wiki/Universalsensor#Der_Helligkeitssensor

wenn das ein selbst erzeugtes reading ist solltest du statt luminosity besser brightness oder luminance verwenden. die werden 1:1 durchgereicht.

gruss
  andre

ps: zum korrigieren brauchst du vermutlich kein userReading. es sollte reichen factor zu verwenden: homebridgeMapping TSL2561 CurrentAmbientLightLevel=luminosity,factor=0.265
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

thymjan

Hallo Andre, danke für deine Antwort.

Habe den TSL2561 direkt am RPi über I2C. Das Modul I2C_TSL2561 gibt das Reading luminosity aus. Dies habe ich zunächst direkt an die homebridge übergeben. Habe dann aber bemerkt, dass der Wert um den Faktor 0.265 verändert ist. Warum steckt der Faktor in der homebridge drin? Dann steht ja in FHEM ein andere Faktor als in der home app.

Das Mapping mit dem Faktor funktioniert leider nicht. Die Umrechnung bekomme ich nur mit userReadings hin.

Habe ich das richtig verstanden: Wenn das Modul I2C_TSL2561 das Reading brightness oder luminance ausspucken würde, würde homebridge den Wert unverändert durchreichen?

Gruß,
Stefan

justme1968

ZitatWarum steckt der Faktor in der homebridge drin?
weil das reading luminosity nicht in lux ist, homekit aber lux erwartet.

ZitatDas Mapping mit dem Faktor funktioniert leider nicht.
der in homebridge-fhem fest vorgegebene wert war tatsächlich nicht überschreibbar. das geht mit dem nächsten update.

ZitatHabe ich das richtig verstanden: Wenn das Modul I2C_TSL2561 das Reading brightness oder luminance ausspucken würde, würde homebridge den Wert unverändert durchreichen?
ja.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

thymjan

Das Modul I2C_TSL2561 gibt das Reading luminosity aber mit der Einheit lux aus. Ist das dann physikalisch falsch?

justme1968

in fhem gibt es aktuell nicht wirklich einheiten. höchstens buchstaben und symbole hinter den zahlen die für einen menschlichen anwender etwas bedeuten.

es gibt zwei vorschläge und einen ersten anfang wie man einheiten wirklich auch zur automatischen auswertung in fhem integriert. und zwei erste module dir das verwenden.

aktuell hat aber das was hinter den zahlen im reading steht keinerlei weiter auswirkungen. es wird einfach angeschnitten.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

justme1968

und was die physikalische größe luminosity angeht: die wird nicht in lux angegeben.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

thymjan

OK. Das ist mir klar. Aber ist die Bezeichnung luminosity für eine Variable die einen berechneten Wert mit der (nicht integrierten) Einheit lux enthält die falsche? Sollte die dann eher brightness oder luminance heißen? Darauf zielt meine Frage ab.