homebridge/homekit

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

Vorheriges Thema - Nächstes Thema

Typ1er

ich brauche mal einen Tip:

ich habe meinen Bewegungsmelder (Hue) von FHEM nach HomeKit gemappt.

Da ich die Bewegungsmelder gerne auch mal ausschalten möchte, wollte ich das gerne über ein weiteres Reading lösen, ohne ein weiteres Gerät zu definieren.
jetzt habe ich mit der Active Characteristic gespielt. Warum funktioniert das ganze nur bei state auf einem dummy, und nicht auf ein unbekanntes Reading?

Das hier funktioniert(mit dummy "test"):
genericDeviceType MotionSensor
homebridgeMapping MotionDetected=state,valueOn=motion,valueOff=nomotion
BatteryLevel=battery,maxValue=100,minValue=0,minStep=1
0000006B-0000-1000-8000-0026BB765291=Motion_02_ZHALightLevel:lux,name=BRIGHTNESS,format=FLOAT,unit=LUX,maxValue=1000,minValue=0,minStep=1
0000006B-0000-1000-8000-0026BB765318=Motion_02_ZHALightLevel:lightlevel,name=Lichstärke,format=FLOAT,maxValue=100000,minValue=0,minStep=1
Active=test:state,values=off:0;on:1,cmds=1:on;0:off
history:size=1024


das hier nicht:
   genericDeviceType MotionSensor
   homebridgeMapping MotionDetected=state,valueOn=motion,valueOff=nomotion
BatteryLevel=battery,maxValue=100,minValue=0,minStep=1
0000006B-0000-1000-8000-0026BB765291=Motion_02_ZHALightLevel:lux,name=BRIGHTNESS,format=FLOAT,unit=LUX,maxValue=1000,minValue=0,minStep=1
0000006B-0000-1000-8000-0026BB765318=Motion_02_ZHALightLevel:lightlevel,name=Lichstärke,format=FLOAT,maxValue=100000,minValue=0,minStep=1
Active=switch,values=off:0;on:1,cmds=1:on;0:off
history:size=1024


warum geht das nicht?

justme1968

schau ob es mit eve funktioniert.

home kommt mit selbst definierte dingen nicht besonders gut klar.

schau im js file ob active zumindest optional für deinen service ist. wenn nicht: diese kombination ist dann zumindest nicht vorgesehen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Typ1er

Active ist in beiden fällen zu sehen, den angegeben Dummy test:state schaltet active, versuche ich das wie im zweiten fall mit dem reading "switch" passiert hier gar nichts. es ist egal ob dann da steht "Active=Motion:switch,..." oder nur "Active=switch,...." beides geht nicht.

stratege-0815

#3723
Hallo zusammen,
ich verwende einen shelly dimmer in FHEM. Via homebridge erscheint er auch in Apple Home.
Allerdings gibt es eine kleine Einschränkung, Schaltvorgänge direkt am Taster/Dimmer an in der Wand EIN oder AUS kommen zwar im Shelly FHEM Device richtig an, aber nicht in apple home. Hier scheint noch etwas im homebridge-mapping schief zu gehen oder zu fehlen.

defmod Schalter_Dimmer_Schlafzimmer Shelly 192.168.1.62
attr Schalter_Dimmer_Schlafzimmer event-on-change-reading state
attr Schalter_Dimmer_Schlafzimmer genericDeviceType light
attr Schalter_Dimmer_Schlafzimmer homebridgeMapping Off=relay,On=relay,valueOff=off,valueOn=on,cmdOff=off,cmdOn=on,relayOff=off,relayOn=on
attr Schalter_Dimmer_Schlafzimmer interval 5
attr Schalter_Dimmer_Schlafzimmer model shellydimmer
attr Schalter_Dimmer_Schlafzimmer room Homekit,Schlafzimmer,Shelly

setstate Schalter_Dimmer_Schlafzimmer off
setstate Schalter_Dimmer_Schlafzimmer 2020-03-13 20:36:06 cloud disabled
setstate Schalter_Dimmer_Schlafzimmer 2020-03-23 10:22:43 firmware v1.6.0
setstate Schalter_Dimmer_Schlafzimmer 2020-03-30 15:05:40 network <html>connected to <a href="http://192.168.1.62">192.168.1.62</a></html>
setstate Schalter_Dimmer_Schlafzimmer 2020-03-30 15:04:08 pct 27
setstate Schalter_Dimmer_Schlafzimmer 2020-03-30 15:06:33 state off


Hat vielleicht jemand ein ähnliches Problem, oder eine Lösung gefunden?

Gruß
Jan

Ergänzung:

Ich habe mir das zusätzlich noch einmal in Eve angeguckt. Dort ist das Verhalten genau das gleiche.

Auch wenn ich den shelly dimmer als MQTT device anlege bleibt der Effekt bestehen.

Typ1er

du musst den pct wert auch mappen, das geht nicht bei allen Geräten automatisch

Hier mal ein Beispiel von einer Lampe bei mir.


clear
On=power,valueOn=on,valueOff=off,cmdOn=on,cmdOff=off
Brightness=bright::bright,minValue=0,maxValue=100,minStep=1
ColorTemperature=ct::ct,minValue=140,maxValue=500,minStep=1,min=2700,max=6500,invert=1
StatusActive=state,valueOn=opened,valueOff=disconnected

stratege-0815

Hallo zusammen,
hier noch einmal die internals

defmod Dimmer_Schlafzimmer MQTT2_DEVICE shellydimmer_D45DA1
attr Dimmer_Schlafzimmer IODev myMQTT2_SERVER
attr Dimmer_Schlafzimmer devStateIcon {my $lderr = ReadingsVal($name,"loaderror","true") eq "true"?"10px-kreis-rot":"10px-kreis-gruen";;;; my $light = ReadingsVal($name,"ison","false") eq "true"?"on":"off";;;; my $cons = ReadingsVal($name,"light_0_power","unknown");;;; FW_makeImage($lderr)."<a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a><div>Leistung: $cons</div>"}
attr Dimmer_Schlafzimmer genericDeviceType light
attr Dimmer_Schlafzimmer homebridgeMapping clear\
Brightness=pct::pct,valueOn=on,valueOff=off,cmdOn=on,cmdOff=off,relayOn=on,relayOff=off,Off=relay,On=relay
attr Dimmer_Schlafzimmer icon light_control
attr Dimmer_Schlafzimmer jsonMap brightness:pct
attr Dimmer_Schlafzimmer model shellydimmer
attr Dimmer_Schlafzimmer readingList shellies/shellydimmer-D45DA1/light/0/status:.* {json2nameValue($EVENT,'',$JSONMAP)}\
  shellies/shellydimmer-D45DA1/temperature:.* temperature\
  shellies/shellydimmer-D45DA1/temperature_f:.* temperature_f\
  shellies/shellydimmer-D45DA1/overtemperature:.* overtemperature\
  shellies/shellydimmer-D45DA1/overload:.* overload\
  shellies/shellydimmer-D45DA1/loaderror:.* loaderror\
  shellies/announce:.* { $EVENT =~ m,..id...shellydimmer-D45DA1...mac.*, ? json2nameValue($EVENT) : undef }\
shellydimmer_D45DA1:shellies/shellydimmer-D45DA1/online:.* online\
shellydimmer_D45DA1:shellies/shellydimmer-D45DA1/announce:.* { json2nameValue($EVENT) }\
shellydimmer_D45DA1:shellies/shellydimmer-D45DA1/light/0:.* light_0\
shellydimmer_D45DA1:shellies/shellydimmer-D45DA1/light/0/power:.* light_0_power\
shellydimmer_D45DA1:shellies/shellydimmer-D45DA1/light/0/energy:.* light_0_energy\
shellydimmer_D45DA1:shellies/shellydimmer-D45DA1/input/0:.* input_0
attr Dimmer_Schlafzimmer room Homekit,MQTT,Schlafzimmer
attr Dimmer_Schlafzimmer setList off:noArg shellies/shellydimmer-D45DA1/light/0/command off\
  on:noArg shellies/shellydimmer-D45DA1/light/0/command on\
  pct:slider,0,1,100 shellies/shellydimmer-D45DA1/light/0/set {"turn": "on","brightness": $EVTPART1}\
  x_mqttcom shellies/shellydimmer-D45DA1/command $EVTPART1
attr Dimmer_Schlafzimmer webCmd pct:on:off

setstate Dimmer_Schlafzimmer pct
setstate Dimmer_Schlafzimmer 2020-03-31 21:37:31 brightness 20
setstate Dimmer_Schlafzimmer 2020-04-03 10:51:22 fw_ver 20200309-104554/v1.6.0@43056d58
setstate Dimmer_Schlafzimmer 2020-04-03 10:53:52 has_timer false
setstate Dimmer_Schlafzimmer 2020-04-03 10:51:22 id shellydimmer-D45DA1
setstate Dimmer_Schlafzimmer 2020-04-03 10:53:25 input_0 0
setstate Dimmer_Schlafzimmer 2020-04-03 10:51:22 ip 192.168.1.62
setstate Dimmer_Schlafzimmer 2020-04-03 10:53:52 ison true
setstate Dimmer_Schlafzimmer 2020-04-03 10:53:52 light_0 on
setstate Dimmer_Schlafzimmer 2020-04-03 10:53:52 light_0_energy 646
setstate Dimmer_Schlafzimmer 2020-04-03 10:53:52 light_0_power 20.20
setstate Dimmer_Schlafzimmer 2020-04-03 10:53:52 loaderror 0
setstate Dimmer_Schlafzimmer 2020-04-03 10:51:22 mac F4CFA2D45DA1
setstate Dimmer_Schlafzimmer 2020-04-03 10:53:52 mode white
setstate Dimmer_Schlafzimmer 2020-04-03 10:51:22 new_fw false
setstate Dimmer_Schlafzimmer 2020-04-03 10:51:22 online true
setstate Dimmer_Schlafzimmer 2020-04-03 10:53:52 overload 0
setstate Dimmer_Schlafzimmer 2020-04-03 10:53:52 overtemperature 0
setstate Dimmer_Schlafzimmer 2020-04-03 10:53:52 pct 37
setstate Dimmer_Schlafzimmer 2020-04-03 10:52:06 state pct
setstate Dimmer_Schlafzimmer 2020-04-03 10:53:52 temperature 53.71
setstate Dimmer_Schlafzimmer 2020-04-03 10:53:52 temperature_f 128.67
setstate Dimmer_Schlafzimmer 2020-04-03 10:53:52 timer_remaining 0



Das Problem sind nicht die Dimmwerte in Prozent. Es geht um das schlichte EIN und AUS schalten, ich weiss nicht ob ich das richtig vermitteln konnte. Alles klappt, nur diese Zustände kommen nicht richtig in Apple Home an. Die FHEM GUI zeigt alles korrekt an.

RaspiLED

Hi,

wenn es nur um ein/aus geht. Was passiert ohne das Homebridge Mapping? Wie sieht der Eventmonitor aus? Wie das log von homebridge? Jeweils mit und ohne Mapping?
Die Event-on-update könnten auch falsch sein!?

Gruß Arnd


Signalduino (Nano, ESP, ...), CUL (Busware, Nano, Maple, ...), Homematic (HM-MOD-UART-RPI, ESP, Maple, ...), LaCrosseGateway (LGW, ESP, ...), 1-wire, ESPEasy, Bravia, Yamaha, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

fireb

Hallo,

ich bin gerade dabei HomeKit mit Homebridge einzurichten und habe bei meinen Wandthermostaten (HM-TC-IT-WM-W-EU) ein kleines Problem.

Wenn ich nämlich das Homebridge Mapping und das User Readings aus dem Wiki bei meinem Wandthermostat verwende, dann spielt die Einstellung in der Home App bei der Temperatur verrückt. Sobald ich die Einstellung auf Kühlen, Heizen oder Automatisch umstelle fangen die Temperaturen an "herumzuspringen". Es ändert sich dann im Sekundentakt die Anzeige. (Siehe Anhang)

Homebridge Mapping
TargetTemperature=desired-temp::desired-temp,minValue=5,maxValue=35,minStep=0.5,nocache=1
CurrentTemperature=KU_Thermostat_Climate:measured-temp,nocache=1
StatusLowBattery=KU.Thermostat:battery,values=ok:BATTERY_LEVEL_NORMAL;;/^.*/:BATTERY_LEVEL_LOW
TargetHeatingCoolingState=heatingState,values=OFF:0;;HEAT:1;;COOL:2;;AUTO:3,cmds=OFF:controlManu+off;;HEAT:controlMode+boost;;AUTO:controlMode+auto;;COOL:controlManu+17.0
CurrentHeatingCoolingState=heatingState,values=OFF:0;;HEAT:1;;COOL:2;;AUTO:0,valud=OFF


User Readings
heatingState {(ReadingsVal($NAME,"ValvePosition",0) > 0 || ReadingsVal($NAME,"desired-temp","-") eq "on") ? "HEAT" : ReadingsVal($NAME,"desired-temp","-") eq "off" ? "OFF" : ReadingsVal($NAME,"controlMode","auto") eq "auto" ? "AUTO" : (ReadingsVal($NAME,"measured-temp",20) > ReadingsVal($NAME,"desired-temp",20)) ? "COOL" : "AUTO"}
Quelle: https://wiki.fhem.de/wiki/Homebridge_User_Configs#Homematic_Heizk.C3.B6rperthermostat_HM-CC-RT-DN

Leider tue ich mir beim Erstellen und dem Verstehen von Skripts immer etwas schwer. Vielleicht kann mir ja jemand kurz erklären, was diese beiden Code Elemente überhaupt bezwecken. Vor allem das User Readings ist für mich in diesem Fall so gar nicht verständlich.

Außerdem ist mir nicht ganz klar, was die Einstellungen kühlen und heizen überhaupt bewirken sollen. Ich habe bei meinen Thermostaten einen fixen Heizplan hinterlegt und hin und wieder möchte ich dann aber die Temperatur dennoch manuell anpassen. Da habe ich aber festgestellt, dass der Punkt Automatisch eigentlich ausreichend ist, da sich hier die Temperatur ja auch ändern lässt. Somit wären kühlen und heizen für mich eigentlich hinfällig. Kann man diese beiden Optionen auch ausblenden oder sind diese Standardmäßig von Apple vorgegeben?

Liebe Grüße
fireb

volschin

Versuch es doch erstmal ohne Mapping. Viele HomeMatic-Komponenten werden bereits ohne Mapping-Spielereien sehr gut erkannt.
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

Chris8888

#3729
das hier sieht komisch aus: CurrentHeatingCoolingState=heatingState,values=OFF:0;;HEAT:1;;COOL:2;;AUTO:0,valud=OFF
Müsste das nicht: AUTO:3
lauten?
Auch habe ich das noch nie mit jeweils 2 ";" gesehen...das mag aber auch an mir liegen...

VG


Heizen-Kühlen ist seitens Apple grundsätzlich so vorgesehen. Aber du kannst es ja ohne Mapping=ohne Funktion belassen.
FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

hoppel118

Zitat von: Chris8888 am 14 April 2020, 13:13:40
das hier sieht komisch aus: CurrentHeatingCoolingState=heatingState,values=OFF:0;;HEAT:1;;COOL:2;;AUTO:0,valud=OFF
Müsste das nicht: AUTO:3
lauten?

Habe mich auch irgendwann dieser Mappings im Wiki bedient und einfach kopiert. Von daher habe ich das gleiche Mapping. Allerdings kann ich das hin- und herspringen in der Home App bei mir nicht bestätigen. Eigenartig... Bei der Doppelvergabe der "0" für "OFF" und "AUTO" ist das Verhalten ja schon nachvollziehbar falsch.

Was hat es mit dem "valud=OFF" am Ende auf sich? Braucht man das überhaupt? Die values werden ja vorher schon aufgezählt.

Die Zeile müsste wie folgt aussehen, oder wie seht ihr das?

CurrentHeatingCoolingState=heatingState,values=OFF:0;HEAT:1;COOL:2;AUTO:3

Gerade keine Zeit zum Testen. Wenn es funktioniert, passe ich das gern im Wiki an.

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

justme1968

das muss valid heissen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

hoppel118

Zitat von: justme1968 am 14 April 2020, 14:41:29
das muss valid heissen.

Moin André,

ok, und wofür braucht man ,,valid=OFF", wenn man vorher die values mappt?

Mir erschließt sich das gerade nicht... :)

Danke dir
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

justme1968

damit blendet mal alle nicht vorhandenen aus dem ui aus.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

hoppel118

@Andre: Deinen Satz verstehe ich nicht. Kannst du den nochmal präziser formulieren? :D

In der Home bzw. in der EVE App habe ich meiner Ansicht nach dasselbe Verhalten, egal ob ich es so:

CurrentHeatingCoolingState=heatingState,values=OFF:0;;HEAT:1;;COOL:2;;AUTO:3,valid=OFF

oder so konfiguriere:

CurrentHeatingCoolingState=heatingState,values=OFF:0;;HEAT:1;;COOL:2;;AUTO:3

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi