homebridge/homekit

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

Vorheriges Thema - Nächstes Thema

Abercrombie1892

hallo Leute,

evtl kann mir mal jemand helfen von euch. ich habe gestern meine Sonos in homebridge hinzugefügt.

homebridgeMapping
On=transportState, ValueOn=PLAYING, ValueOff=STOPPED, cmdOn=mySwitch1:on,cmdOff=mySwitch1:on Brightness=Volume::Volume, nocache/code]

das ganze hab ich beim entsprechendem device eingefügt. Hintergrund ist der, das ich über cmdOn einen dummy schalten möchte, der Wiederrum ein DOIF startet und den Sonos Lautsprecher einschaltet bzw wieder ausschaltet. über homebridge kann ich den Lautsprecher aber nur ganz normal starten und pausieren. wie kann ich das ganze umlenken, damit der den dummy schaltet?

Mit freundlichen Grüßen

justme1968

#3406
wenn du einen dumm schalten willst gehört das mapping in den dumm.   

die ganzen leerzeichen innerhalb einer characteristic müssen weg.

volume über brightness abzubilden ist nicht optimal.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Abercrombie1892

Zitat von: justme1968 am 10 Oktober 2019, 17:32:29
wenn du einen dumm schalten willst gehör das mapping in den dumm.   

die ganzen leerzeichen innerhalb einer characteristic müssen weg.

volume über brightness abzubilden ist nicht optimal.

Schade hatte die Hoffnung, das man über das homebridgemapping zb auf einen anderes Gerät verweisen kann.
Siri selber nutze ich überhaupt nicht, wollte die Geräte nur in der homeapp abbilden und da hatte das Mapping mit volume super funktioniert.

Also müsste ich die readings vom Sonos gerät in den dummy übernehmen und dann dort das homebridgemapping machen?

justme1968

im normalfall gehört das mapping in das device das angezeigt und geschaltet werden soll.

man kann auf ein anderes gerät verweisen. das ist aber nur in ausnahmefällen nötig. hier sind die überflüssigen leerzeichen im weg.

ansonsten verstehe ich dein problem nicht wirklich. ich glaube du denkst viel zu kompliziert. dummy, doif, steckdose und sonos. spontan würde ich sagen die hälfte davon ist überflüssig.

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

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

Abercrombie1892

#3409
da ist keine Steckdose dazwischen.

ich habe pro Sonos jeweils ein DOIF.

##
(["mySwitch1:on"] and [Sonos_Wohnzimmer:state] ne "PLAYING" and [Sonos_Bad:state] ne "PLAYING" and [Sonos_Kueche:state] ne "PLAYING" and [Sonos_Schlafzimmer_2:state] ne "PLAYING") (set Sonos_Wohnzimmer Play)
##
DOELSEIF
(["mySwitch1:on"] and [Sonos_Wohnzimmer:state] ne "PLAYING" and [Sonos_Kueche:state] eq "PLAYING" and [Sonos_Kueche:IsMaster] == 1) (set Sonos_Kueche AddMember Sonos_Wohnzimmer)
##
DOELSEIF
(["mySwitch1:on"] and [Sonos_Wohnzimmer:state] ne "PLAYING" and [Sonos_Bad:state] eq "PLAYING" and [Sonos_Bad:IsMaster] == 1) (set Sonos_Bad AddMember Sonos_Wohnzimmer)
##
DOELSEIF
(["mySwitch1:on"] and [Sonos_Wohnzimmer:state] ne "PLAYING" and [Sonos_Schlafzimmer_2:state] eq "PLAYING" and [Sonos_Schlafzimmer_2:IsMaster] == 1) (set Sonos_Schlafzimmer_2 AddMember Sonos_Wohnzimmer)
##
DOELSEIF
(["mySwitch1:on"] and [Sonos_Wohnzimmer:state] eq "PLAYING" and [Sonos_Wohnzimmer:IsMaster] == 0) (set Sonos_Wohnzimmer MakeStandaloneGroup)
##
DOELSEIF
(["mySwitch1:on"] and [Sonos_Wohnzimmer:state] eq "PLAYING" and [Sonos_Wohnzimmer:IsMaster] == 1) (set Sonos_Wohnzimmer Pause)




Das bezweckt das sich die Sonosplayer untereinander gruppieren/entgruppieren, wenn ein Zoneplayer etwas abspielt (den long press simulieren)

das wäre dann in der Homeapp wie beim Airplay2. Einfach anklicken und der Player wird automatisch mit in die Gruppe genommen.

wenn ich das homebridgemapping ändere zu

On=transportState,ValueOn=PLAYING,ValueOff=STOPPED,cmdOn=mySwitch1:on,cmdOff=mySwitch1:on,Brightness=Volume::Volume, nocache

dann kann ich garnix mehr steuern in der homeapp  :(

justme1968

was meinst du mit 'und den Sonos Lautsprecher einschaltet' wenn du gar keine steckdose schaltest? die dinger sind immer an. du startest nur das abspielen.

ZitatOn=transportState,ValueOn=PLAYING,ValueOff=STOPPED,cmdOn=mySwitch1:on,cmdOff=mySwitch1:on,Brightness=Volume::Volume, nocache

du hast zu viele leerzeichen rausgeschmissen. die innerhalb einer characteristic müssen raus, die zwischen den characteristics müssen bleiben. d.h. genau eines vor Brightness. ansonsten brauchst du aber für sonos eigentlich gar kein mapping. die werden automatisch erkannt.


ich verstehe immer noch nicht warum du den sonos player in homekit hast wenn du eigentlich einen dummy schalten willst.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Abercrombie1892

Ich wollte die characteristics von den Sonos schon sehr gerne übernehmen + Volume und das cmdOn und cmdOff dann umlenken auf den Dummy ( der wie ein Taster fungiert ) weil das DOIF doch wesentlich besser ist, als nur ein stumpfes Play und Pause.

Zb. Wenn Musik im Wohnzimmer spielt und ich die Küche einschalte spielt die Küche sofort im multiroombetrieb mit dem Wohnzimmer zusammen. Schalte ich die Küche aus, wird die Küche aus der Gruppe gelöst und pausiert.

sommer_05

liebe fhem gemeinde
ich beschäftige mich seit ein paar tagen mit homekit-fhem und habe nach anfänglichen problemen gute fortschritte gemacht.
ich hänge jedoch bei folgenden mapping, welches ich versucht habe mir aus verschiedenen beiträgen zusammenzustoppeln
attr sensor_aussen homebridgeMapping clear MotionDetected=state,values=motion:1;;noMotion:0 5d98ba04-f33f-61b2-4125-7172264217b2a998=brightness,Name=Helligkeit StatusLowBattery=battery,values=ok:BATTERY_LEVEL_NORMAL;;/^.*/:BATTERY_LEVEL_LOW history:size=1024

und zwar möchte ich für einen homematic HM-SEN-MDIR-O-2 motion sensor auch den "brightness" wert aus dem readings auslesen und als "Helligkeit" anzeigen.
ich verwende als generic device MotionSensor und subtype motion detector.
das mapping zeigt bewegung und battery richtig an (in eve) aber keinen helligkeitwert, und leider auch keine history.
habe schon alles ausprobiert aber wahrscheinlich ist es eine kleinigkeit die eure aufmerksame augen sofort sehen.
danke ihr erspart mir weiter schlaflose stunden....
meine readins sehen so aus
Readings
Activity
alive

D-firmware

1.6

2019-10-10 22:24:57
D-serialNr

MEQ0394230

2019-10-10 22:24:57
RegL_00.


2019-10-10 23:48:14
battery

ok

2019-10-11 00:04:31
brightness

111

2019-10-11 00:04:31
cover

closed

2019-10-11 00:03:01
motion

off

2019-10-11 00:08:33
motionCount

3_next:240s

2019-10-11 00:04:31
motionDuration

242

2019-10-11 00:08:33
powerOn

2019-10-10 23:47:41

2019-10-10 23:47:41
recentStateType

info

2019-10-10 23:47:41
state

noMotion

2019-10-11 00:08:33
trigDst_F10000

noConfig

2019-10-11 00:04:31
trigger_cnt

3


Abercrombie1892

Zitat von: justme1968 am 10 Oktober 2019, 18:52:14


man kann auf ein anderes gerät verweisen. das ist aber nur in ausnahmefällen nötig. hier sind die überflüssigen leerzeichen im weg.


wäre mal interessant wie man denn in ausnahmefällen auf ein anderes device verweisen könnte mit den homebridgemappings.

hatte mal die leerzeichen entfernt, aber leider brachte das auch nicht den erwünschten erfolg

Sky

#3414
Guten Abend zusammen ,

ich habe da mal wieder eine Idee.
Momentan setze ich meine Klingelerkennung über ein FS20KSE und die Benachrichtigung über Telegramm um .
Zusätzlich sendet Telegram mir einen Snapshot von meiner Kamera .
Weil RTSP-Stream, ist diese über das Modul IPCAM eingebunden.
Funktioniert tadellos.
Nun habe ich den Versuch gestartet ,dies in Homekit anzuwenden .
Da ,wie ich gelesen habe, dieses nur mit einem Bewegungsmelder funktionieren soll , startete ich Versuche aus meinem
FS20 ,der ursprünglich als ContactSensor angelegt war , nun einen Bewegungsmelder zu machen .
Also Schritt eins :

genericDeviceType MotionSensor


Schritt zwei ,das definieren des homebridgemapping .
Folgende Versuche brachten keinen Erfolg :

MotionDetected=state,values=on:MOTION_DETECTED;;off:MOTION_NOT_DETECTED

MotionDetected=state,values=motion:on;noMotion:off

MotionDetected=state,values=on:true;;off:false


Ich weiß allerdings auch nicht ob das ändern in einen Bewegungsmelder so funktioniert ??

Das List sieht so aus :

Internals:
   BTN        01
   CUL_0_MSGCNT 26
   CUL_0_RAWMSG 810b04xx0101a00170a0010000
   CUL_0_RSSI -80.5
   CUL_0_TIME 2019-10-13 20:08:09
   DEF        70a0 01
   FUUID      5d752ee0-f33f-88d2-a497-4b58098fb9ec39db
   IODev      CUL_0
   LASTInputDev CUL_0
   MSGCNT     26
   NAME       fl_klingel_2
   NR         270
   STATE      off
   TYPE       FS20
   XMIT       70a0
   CODE:
     1          70a0 01
   READINGS:
     2019-10-13 20:08:09   state           off
Attributes:
   IODev      CUL_0
   devStateIcon on:rc_dot@green off:rc_dot@grey
   genericDeviceType MotionSensor
   homebridgeMapping MotionDetected=state,values=on:true;;off:false
   icon       audio_volume_high
   model      fs20kse
   room       FS20,Homekit,Türklingel

Pati_Alpha

Hey,

ich habe aktuell 2 Homebridges laufen und teile meine Devices mit 2 Räumen auf die beiden Bridges auf.
Meistens funktionieren beide, selten aber zeigen alle Geräte einer Bridge "Keine Antwort" an. Ich muss die "Home"-App auf dem iPad/iPhone dann im Task Switcher beenden und neu auf machen, das triggert wohl ein erneutes Abfragen der Statuswerte aller Geräte und mit Glück klappt dann alles.

Gibts hier eine Möglichkeit rauszufinden woran das liegen kann? Ich habe die leise Vermutung, dass es irgendein spezielles Device ist, dessen Readings nicht richtig gemappt sind oder sowas...!
Ich jage dem Grund jetzt schon lange nach, aber bisher war der Schmerz nie groß genug, mal richtige Analysearbeit reinzustecken, denn meistens (so 9/10 Versuche) geht es ja.

Der Prozess an sich ist aber super schnell, Performance kann es also eig nicht sein. Sind 2 Bridges in einer VM, FHEM läuft in einer anderen VM. Alles auf einem NUC. Also noch alles zusammen auf einem Pi3 lief, war das aktualisieren deutlich lahmer.

Danke und Grüße :)
Pati

Sky

Hallo .

ich habe jetzt auch nochmal versucht über

https://github.com/justme-1968/homebridge-fhem


ein passendes Mapping zu erstellen .
In Fhem sind die Readings nur On und Off .
Egal was ich versuche, es bringt nicht das gewünschte Ergebnis.
Der letzte Versuch :

MotionDetected=state,values=off:false;on:true



Oct 14 19:25:52 raspberrypi homebridge[1510]: [10/14/2019, 7:25:52 PM] [FHEM]   MotionSensor service for fl_klingel_2
Oct 14 19:25:52 raspberrypi homebridge[1510]: [10/14/2019, 7:25:52 PM] [FHEM]   MotionDetected characteristic for fl_klingel_2:state
Oct 14 19:25:52 raspberrypi homebridge[1510]: [10/14/2019, 7:25:52 PM] [FHEM]   Custom LastActivation characteristic fl_klingel_2:state


Trotzdem reagiert Homekit nicht
Wer kann mir sagen ob das überhaupt umzusetzen ist ?

eisenhauer1987

Probier mal:

MotionDetected=state,values=on:1;off:0

Sky

Danke für Deinen Tip ,

funktioniert leider auch nicht   :-\


Oct 14 20:44:40 raspberrypi homebridge[12768]:   2019-10-14 20:44:40 caching: fl_klingel_2-state: on
Oct 14 20:44:40 raspberrypi homebridge[12768]: [10/14/2019, 8:44:40 PM] [FHEM]     caching: MotionDetected: true (as boolean; from 'on')
Oct 14 20:44:40 raspberrypi homebridge[12768]:   2019-10-14 20:44:40 caching: fl_klingel_2-state: off
Oct 14 20:44:40 raspberrypi homebridge[12768]: [10/14/2019, 8:44:40 PM] [FHEM]     caching: MotionDetected: false (as boolean; from 'off')


In Fhem :

2019-10-14 20:44:40 FS20 fl_klingel_2 on

2019-10-14 20:44:40 FS20 fl_klingel_2 off


Jetzt weiß ich echt nicht mehr weiter ...

eisenhauer1987

Ich verstehe das Problem leider nicht. Laut deinen logs wird doch: on zu MotionDetected: true übersetzt was korrekt ist. Was funktioniert denn nicht?