homebridge/homekit

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

Vorheriges Thema - Nächstes Thema

Dracolein

Moin,
ich versuche ein generictypeDevice vom Typ "thermostat" ans rennen zu bekommen, um aus der Homekit-App heraus eine Soll-Temperatur an ein FHEM-Device vorgeben zu können. Ganz simpel soll das Reading "state" eines dummy-Devices mit Soll-Werten beschrieben werden.

defmod dummy_LayZ_SollTemp dummy
attr dummy_LayZ_SollTemp genericDeviceType thermostat

Mit
attr dummy_LayZ_Solltemp homebridgeMapping
CurrentTemperature=MQTT2_layzspa:TMP,minValue=20,maxValue=40,minStep=1,nocache=1
CurrentHeatingCoolingState=MQTT2_layzspa:heaterstate,values=HEAT:1;COOL:2;OFF:0;AUTO:3
TargetTemperature=state::state,minValue=20,maxValue=40,minStep=1,nocache=1,cmd=control
TargetHeatingCoolingState=Nothing,values=HEAT:1;COOL:2;OFF:0;AUTO:3

kriege ich das Thermostat in Homekit dargestellt und es wird die korrekte Ist-Temperatur angezeigt. Aber egal wie ich was kombiniere, die Soll-Temperatur ändert sich nicht.
1.) geht es einstellbar nur bis 38°C maximal (ist das ggf. eine Homekit Beschränkung??)
2.) ändert sich "state" nur, wenn ich in Homekit zwischen "Heizen, Kühlen, Automatik" wechsle und schreibt mir in das Reading dann "undefined 0, undefined 1...) usw rein.

Jemand eine Idee?
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

Cybers

Zitat von: Dracolein am 10 Juli 2023, 07:46:22Moin,
ich versuche ein generictypeDevice vom Typ "thermostat" ans rennen zu bekommen, um aus der Homekit-App heraus eine Soll-Temperatur an ein FHEM-Device vorgeben zu können. Ganz simpel soll das Reading "state" eines dummy-Devices mit Soll-Werten beschrieben werden.

defmod dummy_LayZ_SollTemp dummy
attr dummy_LayZ_SollTemp genericDeviceType thermostat

Mit
attr dummy_LayZ_Solltemp homebridgeMapping
CurrentTemperature=MQTT2_layzspa:TMP,minValue=20,maxValue=40,minStep=1,nocache=1
CurrentHeatingCoolingState=MQTT2_layzspa:heaterstate,values=HEAT:1;COOL:2;OFF:0;AUTO:3
TargetTemperature=state::state,minValue=20,maxValue=40,minStep=1,nocache=1,cmd=control
TargetHeatingCoolingState=Nothing,values=HEAT:1;COOL:2;OFF:0;AUTO:3

kriege ich das Thermostat in Homekit dargestellt und es wird die korrekte Ist-Temperatur angezeigt. Aber egal wie ich was kombiniere, die Soll-Temperatur ändert sich nicht.
1.) geht es einstellbar nur bis 38°C maximal (ist das ggf. eine Homekit Beschränkung??)
2.) ändert sich "state" nur, wenn ich in Homekit zwischen "Heizen, Kühlen, Automatik" wechsle und schreibt mir in das Reading dann "undefined 0, undefined 1...) usw rein.

Jemand eine Idee?

Schau doch mal in meinen vorletzten Beitrag (10 Posts über deinem) da solltest du die Lösung finden.
Gruß, Sascha
FHEM 6.2 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

Dracolein

Möglicherweise stehe ich auf dem Schlauch, aber eine Lösung für mein Problem kann ich nicht herauslesen.
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

Cybers

#4263
Zitat von: Dracolein am 10 Juli 2023, 12:00:36Möglicherweise stehe ich auf dem Schlauch, aber eine Lösung für mein Problem kann ich nicht herauslesen.

Das Dummy-Device in meinem List in dem Beitrag mach genau das, was du willst. Temperatur über ,,Home" einstellen.
Zusätzlich wird noch der Status eines weiteren Devices abgefragt, was leider noch ein wenig hakt.
FHEM 6.2 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

Dracolein

Habs mehrfach versucht, keine Chance. Die Ist-Temperatur aus dem Dummy:state wird korrekt dargestellt, der Rest klappt nicht. Allein die Temperaturskala auf 40°C zu bekommen, scheint bereits unmöglich, die Skala endet immer bei 38°C.
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

JMC

Moin,

das liedige Thema mit homekit und den 0er Einträgen bei den Temperatur und Feuchtigkeitswerten hat auch in der Zwischenzeit noch niemand lösen können, oder?

https://forum.fhem.de/index.php?topic=97059.270

Es erscheinen immer wieder 0er Werte in der eve-history...
Viele Grüße
JMC

onkel-tobi

Gibts bezüglich subtypes was neues?
Oder kennt evtl. eine andere Idee meine Keymatic Tür via Apple Watch zu öffnen?

Danke & Gruß,
Tobi

DeeSPe

Zitat von: onkel-tobi am 21 August 2023, 18:17:19Gibts bezüglich subtypes was neues?
Oder kennt evtl. eine andere Idee meine Keymatic Tür via Apple Watch zu öffnen?

Danke & Gruß,
Tobi

Ich habe eine zusätzlich "On" Characteristic hinzugefügt und "Sesam öffne dich" benannt.
Sage ich "Sesam öffne dich" zu Siri wird die Tür von meiner Keymatic aufgeschlossen und auch geöffnet.
Hier mal mein Custom Homebridgemapping aus der "Raw definition":
attr fl_Tuerschloss homebridgeMapping clear\
LockCurrentState=lock,values=/^uncertain/:UNKNOWN;;/^locked/:SECURED;;/.*/:UNSECURED\
LockTargetState=lock,values=/^lock/:SECURED;;/.*/:UNSECURED,cmds=SECURED:lock;;UNSECURED:unlock\
StatusLowBattery=battery,values=ok:BATTERY_LEVEL_NORMAL,default=BATTERY_LEVEL_LOW\
StatusActive=CommandAccepted,valueOn=yes\
On#On=lock,subtype=Sesam+öffne+Dich,cmdOn=open,timeout=250,default=off

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

Bitzer

Hi,

ich habe FHEM mit Homebridge und Enocean Aktoren (FSB12) seit einigen Jahren erfolgreich am Laufen. Neuerdings habe nun auch die EVE-App im Einsatz und dort ein Problem mit der Anzeige des Rolladenstatus. In der Home-App wird der Status der Rolläden korrekt angezeigt (geöffnet, geschlossen, wird geöffnet, schließen usw.), in der EVE-App allerdings stimmt der angezeigte Status nicht, es wird immer "Schließend" angezeigt.

Hier sind meine Homebridge-Einstellungen für das Device:

GenericDeviceType blind
homebridgeMapping clear CurrentPosition=position,invert=1,minValue=0,maxValue=100 TargetPosition=position,invert=1,minValue=0,maxValue=100,cmdOn=Zu,cmdOff=Auf,cmd=position

Die FHEM Readings sind bei offenem Rolladen:
endPosition: open
position: 0
state: open

HOME App: geöffnet
EVE App: schließend 100%

bei geschlossenem Rolladen:
endPosition: closed
position: 100
state: closed

HOME App: geschlossen
EVE App: schließend 0%

In einer Zwischenstellung:
endPosition: not_reached
position: 70
state: not_reached

HOME App: geöffnet 30%
EVE App: schließend 30%

Hat jemand eine Idee wie ich das Homebridgemapping anpassen muss, damit der Status auch in der Eve-App richtig angezeigt wird?

Danke und viele Grüße
Oli

jhohmann

Ich habe das bei mir nur teilweise hinbekommen.
Einige Rolläden laufen mit HomeMatic IP, andere mit EnOcean (das konkrete Modell weiß ich spontan nicht).
Bei HomeMatic funktioniert es teilweise, bei EnOcean nicht, obwohl es im HomeBridgeMapping und den Werten identisch ist  :o .
Ich habe mir ein userReading angelegt (und je nach Gerät angepasst).
PositionState {ReadingsVal($name,"shutterState","") eq "stopped" ? "STOP" : (ReadingsVal($name,"shutterState","") eq "closes" ? "DOWN" : "UP")}Es muss entweder STOP für stehend, oder UP und DOWN für die aktuelle Bewegung raus kommen.
Und beim HomeBridgeMapping dann noch eine Zeile ergänzen.
PositionState=PositionStateMein Mapping sieht wie folgt aus.
clear
CurrentPosition=pct,minValue=0,maxValue=100,minStep=1
TargetPosition=pct,minValue=0,maxValue=100,minStep=1,cmd=pct
PositionState=PositionState
Bei den Somfy Markisen geht es so auch.
Raspberry Pi 4 - bookworm / EnOcean - Rollo+Licht, deCONZ - Licht+Sensoren, ZWave - CO Messung, HMCCU mit piVCCU - Heizung+Rollo
plus dovecot, minidlna

Bitzer

Hi,

vielen Dank für die Anregung. Ich habe es jetzt hinbekommen, das Stichwort war PositonState. In der API-Doku steht dazu...

Constants:
DECREASING   Characteristic.PositionState.DECREASING   0
INCREASING   Characteristic.PositionState.INCREASING   1
STOPPED      Characteristic.PositionState.STOPPED   2

Ich habe das UserReading also so angelegt, dass der Bewegungszustand des Rollo's übergeben wird (bei Somfy ist das entsprechende Reading "execution")

attr Rollo_Dachfenster userReadings moveStatus {ReadingsVal($name,"execution","") eq "stop" ? "2" : (ReadingsVal($name,"execution","") eq "up" ? "1" : "0")}

Homebridgemapping:
attr Rollo_Dachfenster homebridgeMapping clear CurrentPosition=pct,invert=1,minValue=0,maxValue=100,minStep=10 TargetPosition=target,invert=1,minValue=0,maxValue=100,minStep=10,cmd=pct PositionState=moveStatus
Damit läuft es wie gewünscht auch mit dem richtigen Status in der Eve-App (Geöffnet, Geschlossen, Schließend, Öffnend, xx% geöffnet).

onkel-tobi

Zitat von: DeeSPe am 29 August 2023, 19:23:31Ich habe eine zusätzlich "On" Characteristic hinzugefügt und "Sesam öffne dich" benannt.
Sage ich "Sesam öffne dich" zu Siri wird die Tür von meiner Keymatic aufgeschlossen und auch geöffnet.
Hier mal mein Custom Homebridgemapping aus der "Raw definition":
attr fl_Tuerschloss homebridgeMapping clear\
LockCurrentState=lock,values=/^uncertain/:UNKNOWN;;/^locked/:SECURED;;/.*/:UNSECURED\
LockTargetState=lock,values=/^lock/:SECURED;;/.*/:UNSECURED,cmds=SECURED:lock;;UNSECURED:unlock\
StatusLowBattery=battery,values=ok:BATTERY_LEVEL_NORMAL,default=BATTERY_LEVEL_LOW\
StatusActive=CommandAccepted,valueOn=yes\
On#On=lock,subtype=Sesam+öffne+Dich,cmdOn=open,timeout=250,default=off

Gruß
Dan
Hi,

also bei mir will das nicht. Ich bekomme da dann immer: ich habe dich nicht verstanden. Eine Szene in Homekit muss man dann nicht noch haben, oder doch?

Grüße,
Tobi

DeeSPe

Zitat von: onkel-tobi am 15 Oktober 2023, 16:18:00Hi,

also bei mir will das nicht. Ich bekomme da dann immer: ich habe dich nicht verstanden. Eine Szene in Homekit muss man dann nicht noch haben, oder doch?

Grüße,
Tobi

Nein, eine Szene ist nicht nötig dafür.
Hast du in den Geräteeinstellungen vom Schloss in der Home App mal "Als separate Kacheln darstellen" ausgewählt?
Bei mir funktioniert das Mappings seit Jahren völlig problemlos.

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

onkel-tobi

Zitat von: DeeSPe am 15 Oktober 2023, 16:34:37Nein, eine Szene ist nicht nötig dafür.
Hast du in den Geräteeinstellungen vom Schloss in der Home App mal "Als separate Kacheln darstellen" ausgewählt?
Bei mir funktioniert das Mappings seit Jahren völlig problemlos.

Gruß
Dan
Leider nein. Wobei Siri mir jetzt sagt: Ich bin mir nicht sicher ob ich dich richtig verstanden habe. Aber passieren tut nichts.

attr eg_fl_door homebridgeMapping clear\
LockCurrentState=lock,values=/^uncertain/:UNKNOWN;;;;/^locked/:SECURED;;;;/.*/:UNSECURED\
LockTargetState=lock,values=/^lock/:SECURED;;;;/.*/:UNSECURED,cmds=SECURED:lock;;;;UNSECURED:unlock\
StatusLowBattery=battery,values=ok:BATTERY_LEVEL_NORMAL,default=BATTERY_LEVEL_LOW\
StatusActive=CommandAccepted,valueOn=yes\
On#On=lock,subtype=Sesam+öffne+dich,cmdOn=open,timeout=250,default=off

DeeSPe

Wird denn der/die mit "Sesam öffne dich" beschriftete Schalter/Kachel überhaupt bei dir in der Home-App angezeigt, oder funktioniert es nur mit Siri nicht?
Dein Mapping aus dem letzten Post sieht falsch aus, dort sind zu viele Semikolon enthalten.
Das von mir gepostete Mapping war aus der Raw-Definition meines Schlosses. Wenn du das Mapping direkt in das Attribut eintragen willst dann sollte es so aussehen:
clear
LockCurrentState=lock,values=/^uncertain/:UNKNOWN;/^locked/:SECURED;/.*/:UNSECURED
LockTargetState=lock,values=/^lock/:SECURED;/.*/:UNSECURED,cmds=SECURED:lock;UNSECURED:unlock
StatusLowBattery=battery,values=ok:BATTERY_LEVEL_NORMAL,default=BATTERY_LEVEL_LOW
StatusActive=CommandAccepted,valueOn=yes
On#On=lock,subtype=Sesam+öffne+Dich,cmdOn=open,timeout=250,default=off

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