Hauptmenü

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)

no_Legend

Hallo Zusammen,

läuft das Plugin auch mit der Homebridge V2 Beta?
Ich bekommen aktuell folgen Fehler:
Wetter.Homematic.Rain_Rain: no service type detected
[9/15/2025, 9:30:11 PM] [FHEM] 1OG.BAD.FENSTER: skipping CurrentDoorState characteristic as ContactSensor is also given and history is enabled

/homebridge/node_modules/homebridge-fhem/node_modules/fakegato-history/fakegato-history.js:77
                                format: Characteristic.Formats.DATA,
                                   ^
TypeError: Cannot read properties of undefined (reading 'DATA')
    at new S2R1Characteristic (/homebridge/node_modules/homebridge-fhem/node_modules/fakegato-history/fakegato-history.js:77:36)
    at FakeGatoHistory.addCharacteristic (/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Service.ts:530:57)
    at FakeGatoHistory.registerEvents (/homebridge/node_modules/homebridge-fhem/node_modules/fakegato-history/fakegato-history.js:507:10)
    at new FakeGatoHistory (/homebridge/node_modules/homebridge-fhem/node_modules/fakegato-history/fakegato-history.js:476:9)
    at FHEMAccessory.getServices (/homebridge/node_modules/homebridge-fhem/index.js:2973:33)
    at BridgeService.createHAPAccessory (file:///homebridge/node_modules/homebridge/src/bridgeService.ts:458:41)
    at file:///homebridge/node_modules/homebridge/src/bridgeService.ts:528:34
    at Array.forEach (<anonymous>)
    at file:///homebridge/node_modules/homebridge/src/bridgeService.ts:519:21
    at /homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/once.ts:15:14
    at FHEMPlatform.<anonymous> (/homebridge/node_modules/homebridge-fhem/index.js:1226:22)
    at Request.self.callback (/homebridge/node_modules/homebridge-fhem/node_modules/postman-request/request.js:313:12)
    at Request.emit (node:events:519:28)
    at Request.<anonymous> (/homebridge/node_modules/homebridge-fhem/node_modules/postman-request/request.js:1638:10)
    at Request.emit (node:events:519:28)
    at Gunzip.<anonymous> (/homebridge/node_modules/homebridge-fhem/node_modules/postman-request/request.js:1509:12)
[9/15/2025, 9:30:11 PM] [FHEM] Child bridge ended (code 1, signal null). The child bridge ended unexpectedly, which is normally due to the plugin not catching its errors properly. Please report this to the plugin developer by clicking on the 'Report An Issue' option in the plugin menu dropdown from the Homebridge UI. If there are related logs shown above, please include them in your report.
[9/15/2025, 9:30:11 PM] [FHEM] Child bridge will no longer restart after failing 5 times, you will need to manually start this child bridge from the Homebridge UI.

Gibt es sachen die man beim Subtype oder so umstellen muss?
Hat da schon jemand Erfahrung und kann was zum Umstieg auf V2 sagen?

Danke und Grüße Robert
Docker FHEM immer aktuell,4x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
Homematic, Shelly, Tasmota, MQTT, Unifi Network usw.

passibe

Ist der Fehler aufgetreten, als du die v2 beta installiert hast oder wie? Und vorher lief alles normal?

Prinzipiell sollte homebridge-fhem v2-fähig sein, siehe hier. Ich bin mir aber nicht sicher, ob das schon ausgiebig getestet wurde.

Jedenfalls scheint es hier ja erstmal so, als wäre das nicht unbedingt ein v2-spezifisches Problem, sondern ein Problem in der Datenweitergabe an fakegato-history.

Was aber in der Tat eine Problem sein könnte ist, dass die fakegato-history-Version, die homebridge-fhem benutzt (v0.5.3) veraltet ist; aktuell ist v0.6.7.

Am besten du machst mal ein Issue auf GitHub auf und fügst dort auch ein List von 1OG.BAD.FENSTER ein. Kannst im Issue dann auch darauf verweisen, dass die fakegato-history dependency veraltet ist.

(Rein aus Interesse, wieso hast du CurrentDoorState UND ContactSensor gemapped? Ändert sich etwas, wenn du nur ContactSensor mappst? Poste vielleicht auch hier mal das list.)

no_Legend

Danke für deine Antwort.

Genau so ist es. Ich hab die Beta installiert, davor ging alles ohne Problem.
Mein iPhone meldet sich schon langer dass ich HomeKit aktualisieren muss.
Dazu steht iOS 26 an.

Das System ist schon lange am laufen warum ich genau so gesetzt habe kann ich dir nicht mehr sagen.
Stand bestimmt irgendwo im Wiki oder bei homebrides oder so.

Ich mach morgen mal ne Ticket auf Github.
Mal schauen was raus kommt.

Danke und Grüße robert
Docker FHEM immer aktuell,4x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
Homematic, Shelly, Tasmota, MQTT, Unifi Network usw.

passibe

Unabhängig von der irgendwann kommenden Aktualisierung auf homebridge v2 (bin mir gar nicht sicher, wann da der release angepeilt ist) würde ich mal empfehlen, dein Home upzugraden.

Das hat nichts mit der Homebridge zu tun und du wirst bis Ende des Jahres sowieso dazu gezwungen werden. Sollte eigentlich problemlos möglich sein das Update und ein paar Stabilitätsverbesserungen bringen.