homebridge/homekit

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

Vorheriges Thema - Nächstes Thema

xxAvarlonxx

Ja okay, sowas ähnliches habe ich schon gemacht, um unterschiedliche Szenen in den Deckenlampen zu schalten. Das einzige was ich noch nicht probiert habe ist eigene Userreadings in der Gruppe anzulegen, welche seine Werte aus der 1. Birne immer bekommt. Dann könnte ich eigentlich auch ein brauches Homebridgemapping an die Gruppe machen.

monty_burns_007

Zitat von: bee am 18 Dezember 2016, 21:57:48
Vielen Dank, das funktioniert mit dem invert, mein Fehler war, dass ich nur invert ohne =1 angegeben habe, sorry.


TargetPosition=state,cmd=dim,part=1,cmds=100:on,minValue=0,maxValue=100,minStep=1,invert=1
CurrentPosition=state,cmd=dim,part=1,minValue=0,maxValue=100,minStep=1,invert=1


Den Hinweis mit cmds=100:on habe ich auch gefunden, so dass der Rollladen auch runtergefahren wird. Jetzt habe ich noch 2 Problemchen:

1. Ist der Rollladen ganz oben, ist das reading state=off, das führt zum Fehler im Log

  2016-12-18 21:51:51 caching: ZW.Rollladen_rechts-state: off
[12/18/2016, 9:51:51 PM] [FHEM] ZW.Rollladen_rechts-state value off has no part 1
[12/18/2016, 9:51:51 PM] [FHEM]     caching: CurrentPosition: off (as string; from 'off')

und die iOS 10.2 Home App sagt "Keine Antwort" beim Gerät. Kann man das auf dim 0 mappen? Das müsste dann ja 0 % geschlossen also vollständig offen sein.

2. Ist der Rolladen ganz unten, wird nicht geschlossen sondern als 1% geöffnet angezeigt. Verstehe auch warum, weil im geschlossenen Zustand das Reading state=dim 99 ist. Dann man da noch was machen?

Grüße, Bernd

Hi Bee,

Kannst du mir noch mal deine richtige FHEM parameters (und die FGR-222 parameter) geben für die Fibaro RolladeModule FGR-222 wo das FHEM status feedback und Homebridge auch funzt :-)

Wenn du die richtige FHEM parameters für den Fibaro Dimmer 2 auch hat, kannst du sie auch mal durchgeben ?

Vielen Danke im vorraus

jneroes

Hi,

hab seit gestern ein Problem beim npm install oder update von homebridge.
Das Problem liegt an mdns zu liegen. Vorher hat das alles ohne Probleme geklappt.
Hatte das Problem schon mal einer bzw. hat eine Idee.

> mdns@2.3.3 install /home/pi/node_modules/mdns
> node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/roo                                                                                                 t/.node-gyp/6.10.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/home/pi/node_m                                                                                                 odules/mdns/.node-gyp"
make: Entering directory '/home/pi/node_modules/mdns/build'
/usr/bin/printf: 1: /usr/bin/printf: Syntax error: word unexpected (expecting ")                                                                                                 ")
dns_sd_bindings.target.mk:149: recipe for target 'Release/obj.target/dns_sd_bind                                                                                                 ings/src/dns_sd.o' failed
make: *** [Release/obj.target/dns_sd_bindings/src/dns_sd.o] Error 2
make: Leaving directory '/home/pi/node_modules/mdns/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_                                                                                                 modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_proces                                                                                                 s.js:215:12)
gyp ERR! System Linux 4.4.50-v7+
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_mod                                                                                                 ules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/pi/node_modules/mdns
gyp ERR! node -v v6.10.0
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
npm WARN enoent ENOENT: no such file or directory, open '/home/pi/package.json'
npm WARN pi No description
npm WARN pi No repository field.
npm WARN pi No README data
npm WARN pi No license field.
npm ERR! Linux 4.4.50-v7+
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "mdns"
npm ERR! node v6.10.0
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE

npm ERR! mdns@2.3.3 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the mdns@2.3.3 install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the mdns package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs mdns
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls mdns
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/pi/npm-debug.log


Danke und Gruß

Sören

ehmehm

Hallo! Zum Testen möchte ich mit Homekit einen einfachen Dummy-Schalter schalten.

Der Schalter wird mir im Homekit auch wunderbar angezeigt, ein Schalten führt allerdings nicht zum geünschten Ergebnis, in FHEM kommt nix an.

Ich vermute dass mein homebridgeMapping noch nicht richtig gesetzt ist. Lasse mich auch gerne belehren wie ich den Schalter "schöner" machen kann, ist ja nur ein erster Test.

So sieht es momentan aus:

define mySchalter1 dummy
attr mySchalter1 genericDeviceType switch
attr mySchalter1 homebridgeMapping On=state,valueOn=on
attr mySchalter1 room Homekit,Schulungsraum
attr mySchalter1 webCmd on:off


Die Beispiele, die den genericDeviceType switch betreffen finde ich sehr kompliziert, wie z.B. hier aus der Homebridge-fhem-Doku: https://www.npmjs.com/package/homebridge-fhem - ich habe doch gar nix bezüglich TV/DVD konfiguriert.

attr <hub> genericDeviceType switch
attr <hub> homebridgeMapping clear
                               On=activity,subtype=TV,valueOn=TV,cmdOn=activity+TV,cmdOff=off
                               On=activity,subtype=DVD,valueOn=/DVD/,cmdOn=activity+DVD,cmdOff=off
                               On=activity,subtype=Off,valueOn=PowerOff,valueOff=PowerOff,cmd=off


Danke schonmal!

DeeSPe

Zitat von: jneroes am 09 Mai 2017, 15:13:59
Hi,

hab seit gestern ein Problem beim npm install oder update von homebridge.
Das Problem liegt an mdns zu liegen. Vorher hat das alles ohne Probleme geklappt.
Hatte das Problem schon mal einer bzw. hat eine Idee.

> mdns@2.3.3 install /home/pi/node_modules/mdns
> node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/roo                                                                                                 t/.node-gyp/6.10.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/home/pi/node_m                                                                                                 odules/mdns/.node-gyp"
make: Entering directory '/home/pi/node_modules/mdns/build'
/usr/bin/printf: 1: /usr/bin/printf: Syntax error: word unexpected (expecting ")                                                                                                 ")
dns_sd_bindings.target.mk:149: recipe for target 'Release/obj.target/dns_sd_bind                                                                                                 ings/src/dns_sd.o' failed
make: *** [Release/obj.target/dns_sd_bindings/src/dns_sd.o] Error 2
make: Leaving directory '/home/pi/node_modules/mdns/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_                                                                                                 modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_proces                                                                                                 s.js:215:12)
gyp ERR! System Linux 4.4.50-v7+
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_mod                                                                                                 ules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/pi/node_modules/mdns
gyp ERR! node -v v6.10.0
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
npm WARN enoent ENOENT: no such file or directory, open '/home/pi/package.json'
npm WARN pi No description
npm WARN pi No repository field.
npm WARN pi No README data
npm WARN pi No license field.
npm ERR! Linux 4.4.50-v7+
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "mdns"
npm ERR! node v6.10.0
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE

npm ERR! mdns@2.3.3 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the mdns@2.3.3 install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the mdns package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs mdns
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls mdns
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/pi/npm-debug.log


Danke und Gruß

Sören

Probier mal:
sudo apt-get update && sudo apt-get install avahi-daemon libavahi-compat-libdnssd-dev

Danach sollte es mit homebridge klappen.

Zitat von: ehmehm am 20 Mai 2017, 12:53:49
Hallo! Zum Testen möchte ich mit Homekit einen einfachen Dummy-Schalter schalten.

Der Schalter wird mir im Homekit auch wunderbar angezeigt, ein Schalten führt allerdings nicht zum geünschten Ergebnis, in FHEM kommt nix an.

Ich vermute dass mein homebridgeMapping noch nicht richtig gesetzt ist. Lasse mich auch gerne belehren wie ich den Schalter "schöner" machen kann, ist ja nur ein erster Test.

So sieht es momentan aus:

define mySchalter1 dummy
attr mySchalter1 genericDeviceType switch
attr mySchalter1 homebridgeMapping On=state,valueOn=on
attr mySchalter1 room Homekit,Schulungsraum
attr mySchalter1 webCmd on:off


Die Beispiele, die den genericDeviceType switch betreffen finde ich sehr kompliziert, wie z.B. hier aus der Homebridge-fhem-Doku: https://www.npmjs.com/package/homebridge-fhem - ich habe doch gar nix bezüglich TV/DVD konfiguriert.

attr <hub> genericDeviceType switch
attr <hub> homebridgeMapping clear
                               On=activity,subtype=TV,valueOn=TV,cmdOn=activity+TV,cmdOff=off
                               On=activity,subtype=DVD,valueOn=/DVD/,cmdOn=activity+DVD,cmdOff=off
                               On=activity,subtype=Off,valueOn=PowerOff,valueOff=PowerOff,cmd=off


Danke schonmal!

Ein dummy mit on/off benötigt gar kein homebridgeMapping.
define mySchalter1 dummy
attr mySchalter1 genericDeviceType switch
attr mySchalter1 room Homekit,Schulungsraum
attr mySchalter1 setList on off
attr mySchalter1 webCmd on: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

ehmehm

Hallo Dan,

ich hatte die das setList-Attribut nicht gesetzt. Funktioniert jetzt wunderbar! Danke für die schnelle Hilfe :-)

Gruß
ehmehm

elfenbeinturm

#2346
Hat schon wer einen Enocean-Taster / F6-02-01 egal ob Einzel- oder Doppelwippe erfolgreich und sinnvoll integrieren können? Ich habe im Forum nix gefunden...
Homekit hat ja bekanntlich vieles im Arsenal was nach einem Taster aussieht aber sich doch mehr wie ein Schalter verhält. 

Sinnvoll finde ich schematische Abbildung:
EnOcean 4x Rocker
    - Service StatelessProgrammableSwitch
         - Characteristic ProgrammableSwitchEvent (SinglePress)
    - Service StatelessProgrammableSwitch
         - Characteristic ProgrammableSwitchEvent (SinglePress)
    - Service StatelessProgrammableSwitch
         - Characteristic ProgrammableSwitchEvent (SinglePress)
    - Service StatelessProgrammableSwitch
         - Characteristic ProgrammableSwitchEvent (SinglePress)
Bei jeden Tastendruck sollte ein Event auf HomeKit für die jeweilige Characteristic generiert werden. Leider kann HomeKit auch nicht zwischen pressed und released. Aber das macht mir prinzipiell nichts.

Vielleicht können auch die Weiterhelfen die keinen Taster haben sich aber mit Homebridge besser auskennen:
Eine Taste (fhem reading 'buttons') kann zwischen 'pressed' und 'released' unterscheiden. Ein Taster gibt es mindestens in doppelter Ausprägung und dadurch wird die Taste unter dem reading 'state' mitgegeben 'A0', 'AI', 'B0' und 'BI'.

Bisher habe ich folgendes versucht:
attr EnoceanSwitch genericDeviceType StatelessProgrammableSwitch

ProgrammableSwitchEvent=state,values=A0:SINGLE_PRESS,subtype=A0,nocache=1,timeout=1
ProgrammableSwitchEvent=state,values=AI:SINGLE_PRESS,subtype=AI,nocache=1,timeout=1
ProgrammableSwitchEvent=state,values=B0:SINGLE_PRESS,subtype=B0,nocache=1,timeout=1
ProgrammableSwitchEvent=state,values=BI:SINGLE_PRESS,subtype=BI,nocache=1,timeout=1


Die Events kommen wunderbar in HomeKit an, allerdings nur wenn sich 'state' ändert

Beispiel anhand Eventlog:

Alle button der Reihe nach gedrückt:
2017-05-23 20:27:43 EnOcean EnoceanSwitch buttons: pressed
2017-05-23 20:27:43 EnOcean EnoceanSwitch channelB: BI
2017-05-23 20:27:43 EnOcean EnoceanSwitch BI
2017-05-23 20:27:43 EnOcean EnoceanSwitch buttons: released
2017-05-23 20:27:44 EnOcean EnoceanSwitch buttons: pressed
2017-05-23 20:27:44 EnOcean EnoceanSwitch channelB: B0
2017-05-23 20:27:44 EnOcean EnoceanSwitch B0
2017-05-23 20:27:44 EnOcean EnoceanSwitch buttons: released
2017-05-23 20:27:45 EnOcean EnoceanSwitch buttons: pressed
2017-05-23 20:27:45 EnOcean EnoceanSwitch channelA: AI
2017-05-23 20:27:45 EnOcean EnoceanSwitch AI
2017-05-23 20:27:45 EnOcean EnoceanSwitch buttons: released
2017-05-23 20:27:46 EnOcean EnoceanSwitch buttons: pressed
2017-05-23 20:27:46 EnOcean EnoceanSwitch channelA: A0
2017-05-23 20:27:46 EnOcean EnoceanSwitch A0
2017-05-23 20:27:46 EnOcean EnoceanSwitch buttons: released

Sobald ich aber eine Taste zweimal drücke, also:
2017-05-23 20:19:55 EnOcean EnoceanSwitch A0
2017-05-23 20:19:55 EnOcean EnoceanSwitch buttons: released
2017-05-23 20:19:56 EnOcean EnoceanSwitch buttons: pressed
2017-05-23 20:19:56 EnOcean EnoceanSwitch channelA: A0
2017-05-23 20:19:56 EnOcean EnoceanSwitch A0
2017-05-23 20:19:56 EnOcean EnoceanSwitch buttons: released
2017-05-23 20:19:57 EnOcean EnoceanSwitch buttons: pressed
2017-05-23 20:19:57 EnOcean EnoceanSwitch channelA: A0
2017-05-23 20:19:57 EnOcean EnoceanSwitch A0

Wird das Event nicht mehr von dem Homebridge Plugin abgeholt:
  2017-05-23 20:36:47 caching: EnoceanSwitch-state: AI
[5/23/2017, 8:36:47 PM] [FHEM] EnoceanSwitch-state value AI not handled in values
[5/23/2017, 8:36:47 PM] [FHEM]     caching: ProgrammableSwitchEvent:AI: 0 (as number; means SINGLE_PRESS; from 'AI')
[5/23/2017, 8:36:47 PM] [FHEM] EnoceanSwitch-state value AI not handled in values
[5/23/2017, 8:36:47 PM] [FHEM] EnoceanSwitch-state value AI not handled in values
-> Hier sollte mehr passieren.

Ich habe folgendes ausprobiert:

event-on-update-reading .*
auch die oben im code angegeben nocache, timeout Angaben haben leider nichts ausgerichtet.

Jemand ne Idee?

*UPDATE*
Durch debuggen konnte ich herausfinden, dass die Events zwar durch das long polling ankamen. Leider verhindert aber das Plugin dann die Weitergabe. Durch Verändern der Sourcen funktioniert es nun einwandfrei:
in der index.js Zeile 94

FHEM_update(informId, orig, no_update) {
  if( orig === undefined
      || FHEM_cached[informId] === orig )
    return;



FHEM_update(informId, orig, no_update) {
  if( orig === undefined)
    return;

Yil

Hi zusammen,

gibt es eine Anleitung, was zu tun ist, um homebridge komplett zu deinstallieren?

VG Yil
HM CCU2 mit ca. 35 HM-Komponenten inkl. Bausätzen
fhem auf RPi mit Sonos, EnOcean-CUL, ZWAVE-CUL und Bluetooth
Osram Lightify

DeeSPe

Zitat von: Yil am 24 Mai 2017, 00:57:51
Hi zusammen,

gibt es eine Anleitung, was zu tun ist, um homebridge komplett zu deinstallieren?

VG Yil

Die Installationsanleitung einfach umgekehrt abarbeiten!?

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

Spezialtrick

Besteht die Möglichkeit mehrere Räume in der config.json anzugeben oder fügt ihr alle Geräte in den gesonderten Raum Homekit ein?
FHEM - Debmatic - Zigbee2MQTT - Homekit

Esjay

Zitat von: Spezialtrick am 27 Mai 2017, 12:56:55
Besteht die Möglichkeit mehrere Räume in der config.json anzugeben oder fügt ihr alle Geräte in den gesonderten Raum Homekit ein?

Hast du ein Siri Gerät definiert?
define Siri siri

Dann könntest du auf siriName filtern.

Gruß

Spezialtrick

Zitat von: Esjay am 27 Mai 2017, 13:26:03
Hast du ein Siri Gerät definiert?
define Siri siri

Dann könntest du auf siriName filtern.

Gruß

Ja das Gerät habe ich definiert. Dh. man filtert nach siriName und vergibt jedem "Homekit" das Attribut siriName?
FHEM - Debmatic - Zigbee2MQTT - Homekit

justme1968

die filter regex kann beliebig komplex sein. du kannst mit list testen ob sie macht was du möchtest. und du kannst mehrere fhem platforms definieren. jede mit eigenem filter.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

erotikbaer

guten abend zusammen.
ich bin ein wenig am verzweifeln. habe seit heute, an meiner markise, einen hm-lc-bl1pbu-fm und es funktioniert soweit auch alles.
anfangs war das problem dass bei 100% eingefahren und bei 0% ausgefahren war. das habe ich mit attr Markise param levelInvert vertauscht und nun passt es.
nur bei homebridge bzw in der home app zeigt er mir, wenn die markise eingefahren ist, geöffnet an und wenn sie ausgefahren ist zeigt er mir geschlossen an. das würde ich auch gern gedreht haben. geht das irgendwie? ich habe es schon mit dem homebridgemapping und verschiedenen invert=1 probiert, aber anscheinend funktioniert es nicht.
wäre für hilfe sehr dankbar.

gruß der verzweifelte erotikbaer :)

justme1968

schon x mal behandelt...

bei homebridge bedeutet 0 unten (bzw. ausgefahren) und 100 oben (bzw eingefahren). das lässt sich nicht ändern.

das ist auch das normale verhalten für homemmatic. 0 ist unten/dunkel und 100 ist oben/hell. bei allen aktoren. dimmern und rolladen.

mit levelInverse kannst du ändern wie fhem den aktor darstellt falls er falsch herum angeschlossen ist. das ist aber nur ein workaround der einige probleme nach sich zieht. z.b. beim direkten peering.

wenn man levelInverse verwendet um die zahlen zu drehen geht das zwar auf den ersten blick, es geht aber jede konsistenz zwischen den anwendungen verloren. selbst wenn man die zahlenwerte in alexa-fhem umdrehen würde  hilft es nicht wirklich da dann zum einen der anwenungsfall falsch angeschlossener aktor nicht mehr geht und zum andren (und viel problematischer) würde siri immer noch für ein gesprochenes auf 100 senden und für ein gesprochenes zu eine 0 und dann passen die auf und zu kommandos nicht mehr zu den zahlen werten.

das beste ist es wenn du dich an 0 zu/unten und 100 auf/oben gewöhnst. das geht am besten mit der eselsbrücke dimmer: hier ist auch 100 hell und 0 dunkel.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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