homebridge/homekit

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

Vorheriges Thema - Nächstes Thema

Ryker

#4335
Hallo,
Ich verzweifle gerade mit HomebridgeMapping und PlaybackController für Alexa.
Bei mir geht immer nur das "pause" kommando mit "Alexa, pause auf Google TV".
Aber das "play" Kommando mit "Alexa, fortsetzen auf GoogleTV" wird von Alexa gar nicht losgeschickt. Im Log-File des Alexa-Moduls im FHEM zeigt nichts ankommendes an. Und die Alexa sagt auch selbst gar nichts, die nimmt das an und schweigt dann.

Mein HomebridgeMapping ist:
PlaybackController:reading=mediaPlayerState,cmds=play;pause;stop;previous;next,values=play;pause;stop;previous;next
Damit werden auch der Status so an Alexa zurückgeschickt, wie es in der Amazon-Doku verlangt wird, weil über das Reading mediaPlayerState werden die richtigen Werte in Uppercase ausgegeben
  2025-05-09 13:27:20 caching: GoogleTV-state: playing
[9.5.2025, 13:27:20] [FHEM]     caching: PlaybackController: PLAYING (as string; from 'playing')
  2025-05-09 13:35:33 caching: GoogleTV-state: paused
[9.5.2025, 13:35:33] [FHEM]     caching: PlaybackController: PAUSED (as string; from 'paused')

Die ankommenden Events "Pause", "Play", "Stop" werden dann mit EventMap in die für das Gerät benötigten Kleinsbuchstabenschreibweise übersetzt:
/pause:Pause/
/play:Play/
/stop:Stop/
/previous:Previous/
/next:Next/

Hat jemand eine Idee, warum das "fortsetzen nicht funktioniert"
Im FHEM direkt funktioniert das fortsetzen => set GoogleTV play

Ich hab keine Idee mehr, weil alles sieht korrekt aus, auch was das Alexa-Log so meldet beim restarten und bei der Gerätesuche in der Alexa.




Ryker

Habs rausgefunden. Das Gerät darf nicht "Google" im Namen haben bei Alexa. Nach dem Umbenennen in "Streamer" klappt es wie erwartet.


FhemPiUser

sorry für die Anfängerfrage, aber muss ich wirklich auf einem raspberry 4 mit bookworm wie im Wiki beschrieben manuell NodeJS 4,5,6 und 11 installieren? Reicht nicht nur ein "sudo apt-get install -y nodejs"?

passibe

Nein bitte auf keinen Fall. Das Wiki bzw. nodejs 4, 5, 6 und 11 sind maximal veraltet. Die Version, die du über apt kriegst, ist meistens auch veraltet.

Am besten nodesource benutzen: https://nodesource.com/products/distributions
Und so nodejs 22 installieren:
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs

Dann homebridge wie hier beschrieben installieren: https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Raspbian#prerequisites

Danach das homebridge-fhem plugin installieren (geht direkt über das homebridge WebUI, da muss man – anders als das Wiki es sagt – nichts mehr im Terminal machen).

FhemPiUser

#4339
ok, danke. Habs inzwischen zum Laufen bekommen - wenn auch etwas anders, da der Post erst später kam - hoffe die Version ist trotzdem aktuell (nodejs --version zeigt "v22.17.1", npm --version "11.4.2"). Wäre gut die Links ins Wiki zu schreiben.

Jetzt habe ich einige Schalter und Lichter hinzugefügt. Das ist einfach, aber nun kommen die schwierigeren Devices mit homebridgetmapping: Ich würde gerne beliebige Sensorwerte (wie z.b. die heute produzierte PV-Energie oder der Füllstand des Drainageschachts) anzeigen in Homekit, finde aber nur die Möglichkeit dies über homebridgemapping als genericDeviceType Thermometer anzuzeigen, was aber dann mit "°C" angezeigt wird. Gibt es noch andere Möglichkeiten?

Generell hatte ich überlegt das leider nicht/kaum noch gepflegte fhem widget 2 samt Cloudsynchronisation und App durch homekit abzulösen, um damit dann auch über das Internet (ohne VPN und kostenlos über homekit auf Apple TV 4K) Sensorwerte aus fhem lesen zu können. Erst dachte ich das müsste gehen, aber aufgrund der wenigen vorgegebenen genericDeviceTypes scheint das nicht optimal für beliebiege Sensoren (nur Temperatur) umsetzbar zu sein, oder?

Zwei Fragen:
1) Gibt es einen generellen genericDeviceType "sensor" mit konfigurierbarer Einheit, den man irgendwie in fhem hinzufügen kann?
2) Kann man den Namen des fhem devices, wie es in homekit angezeigt werden soll, irgendwie in fhem konfigurieren, sodass z.B. alle in der Familie die homekit nutzen eine Lampe mit den speziell konfigurierten Namen angezeigt bekommen anstatt mit dem fhem gerätenamen?

Dirk070

Hallo zusammen,

eine Frage habe ich in die Runde, nachdem meine Tests leider keinen dauerhaften Erfolg hatten.

Ich habe vor -zig Monaten 2 Schalter (Dummy) in FHEM definiert und diese werden auch in der Apple Home App angezeigt.
Der Status wurde immer sauber dargestellt. Nun funktioniert dies nicht mehr zuverlässig, während der Status der Alarmanlage und weiterer Komponenten sauber funktioniert.

Starte ich die Homebridge neu, wird auch der Status der Dummies gesetzt und wenn ich dann aus FHEM ändere, ändert sich auch der Status in der Home App.
Nach einigen wenigen Stunden stoppt dieses Synchronisieren und die Dummies bleiben in einem Zustand - bis zum Neustart der Homebridge.

Ich habe gelesen, dass mit den neuen Versionen die Dummies neu eingerichtet werden sollen. Durch die Integration mit FHEM müssen diese nicht manuell in der Homebridge angelegt werden.
Nach einem Neustart von Homebridge funktioniert der Sync auch.

Hat jemand einen Tipp, wie ich vorgehen kann?

Danke Euch und schöne Grüße
Dirk

passibe

Zitat von: Dirk070 am 20 August 2025, 11:56:49Ich habe gelesen, dass mit den neuen Versionen die Dummies neu eingerichtet werden sollen. Durch die Integration mit FHEM müssen diese nicht manuell in der Homebridge angelegt werden.
Was meinst du mit "nicht manuell in der Homebridge angelegt werden"? Homebridge zieht sich über homebridge-fhem alles aus FHEM "in Homebridge" muss man also eigentlich nichts machen. Oder meinst du das manuelle Anlegen des homebridgeMappings in FHEM?

Zitat von: Dirk070 am 20 August 2025, 11:56:49Hat jemand einen Tipp, wie ich vorgehen kann?
Poste bitte mal
  • ein list der betroffenen Devices
  • ein list deines FHEMWeb-Devices
  • den Teil deiner config.json, der homebridge-fhem enthält
  • einen Logauszug von Homebridge beim Starten, damit man sieht, welche Characteristics tatsächlich zu den Devices gemappt werden
  • einen Logauszug von Homebridge im Fehlerfall (um zu sehen, ob z.B. noch caching geloggt wird, d.h. die Events homebridge erreichen)