homebridge/homekit

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

Vorheriges Thema - Nächstes Thema

EinEinfach

Fehlen da nicht ein paar andere Attribute? (genericDeviceType sowie das Mapping für Temperatur und Luftfeuchtigkeit)
fhem auf Intel NUC6CAYH mit Proxmox im LXC (Debian 10), KNX mit knxd über MDT SCN-IP000.02, Buderus GB192-15i über KM100, Solaredge WR SE9K über Modbus-TCP

Typ1er

Meine Aqara Sensoren. In Eve mit History.

Ausgewertet werden Temperatur, Feuchtigkeit, Luftdruck,Batterie und Spannung.
Internals:
   DEF        158d0001ab75e1 weather.v1 MiGateway_Flur
   FUUID      5c44a1c6-f33f-06ea-3a89-69554d8d2ea1c60d
   IODev      MiGateway_Flur
   LASTInputDev MiGateway_Flur
   MODEL      weather.v1
   MSGCNT     1775
   MiGateway_Flur_MSGCNT 1775
   MiGateway_Flur_TIME 2019-02-27 21:07:58
   NAME       XMI_158d0001ab75e1
   NR         148
   SID        158d0001ab75e1
   STATE      Temperatur: <b>9.2 °C </b>
Luftfeuchte: <b>55 % </b><br>
Luftdruck: <b>1012 hPa</b>
Batterie: <b>ok ( 2.915 V )</b><br>
Taupunkt: <b>0.6 °C </b>
Absulute Feuchte: <b>4.9 g/m³ </b>
   TYPE       XiaomiSmartHome_Device
   VERSION    1.30
   READINGS:
     2019-02-27 21:07:58   absFeuchte      4.9
     2019-02-27 21:07:58   airpressure     1012.0
     2019-02-27 21:07:58   batteryState    ok
     2019-02-27 21:07:58   batteryVoltage  2.915
     2019-02-27 21:07:58   dewpoint        0.6
     2019-02-27 21:07:58   heartbeat       158d0001ab75e1
     2019-02-27 21:07:58   humidity        54.840
     2019-02-27 21:07:58   pressure        100.845
     2019-02-27 21:07:58   temperature     9.180
Attributes:
   alias      Eingang
   genericDeviceType TemperatureSensor
   homebridgeMapping CurrentTemperature=temperature
CurrentRelativeHumidity=humidity
E863F10F-079E-48FF-8F27-9C2605A29F52=airpressure,format=FLOAT
StatusLowBattery=batteryState,values=ok:BATTERY_LEVEL_NORMAL;/^.*/:BATTERY_LEVEL_LOW
E863F10A-079E-48FF-8F27-9C2605A29F52=batteryVoltage,factor=1000,name=Voltage,format=FLOAT
history:size=2048
   icon       temp_temperature
   rnd_bat    3
   rnd_hum    3
   rnd_pres   3
   rnd_tmp    3
   room       Draußen,Homekit,Wetter,XiaomiMiSmartHome
   siriName   Eingang
   stateFormat Temperatur: <b>[$name:temperature:r1] °C </b>
Luftfeuchte: <b>[$name:humidity:r0] % </b><br>
Luftdruck: <b>[$name:airpressure:r0] hPa</b>
Batterie: <b>[$name:batteryState] ( [$name:batteryVoltage:r3] V )</b><br>
Taupunkt: <b>[$name:dewpoint:r1] °C </b>
Absulute Feuchte: <b>[$name:absFeuchte:r1] g/m³ </b>
   userReadings airpressure {sprintf("%.1f",ReadingsVal($name,"pressure",0)*10.035)}


kennymc.c

#3107
Zitat von: EinEinfach am 27 Februar 2019, 20:37:45
Fehlen da nicht ein paar andere Attribute? (genericDeviceType sowie das Mapping für Temperatur und Luftfeuchtigkeit)

Die werden auch ohne Mapping bei allen Geräten korrekt erkannt. Hab heute 2 Aqara Bewegungssensoren zum Fhem hinzugefügt und auch dort tritt das Batterieproblem auf.


Seit heute morgen stützt Homebridge auch reproduzierbar beim Aufruf bzw aktualisieren der "Anzahl geöffnet" Seite in Eve ab. Dort befinden sich nur Geräte mit dem Batteriebug. Die Tür Seite, die die gleichen Geräte enthält scheint wohl nicht Betriffen zu sein. Mittlerweile kommt es auch bei normaler Benutzung zu Abstürzen. Folgendes steht dabei im Log, teilweise werden auch nicht immer alle Zeilen der Meldung angezeigt:


Feb 27 22:54:26 raspberrypi3 homebridge[17695]: /usr/lib/node_modules/homebridge-fhem/index.js:3126
Feb 27 22:54:26 raspberrypi3 homebridge[17695]:                          var value = this.historyService.extra_persist.TimesOpened;
Feb 27 22:54:26 raspberrypi3 homebridge[17695]:                                                          ^
Feb 27 22:54:26 raspberrypi3 homebridge[17695]: TypeError: Cannot read property 'extra_persist' of undefined
Feb 27 22:54:26 raspberrypi3 homebridge[17695]:     at FHEMAccessory.<anonymous> (/usr/lib/node_modules/homebridge-fhem/index.js:3126:58)
Feb 27 22:54:26 raspberrypi3 homebridge[17695]:     at emitThree (events.js:136:13)
Feb 27 22:54:26 raspberrypi3 homebridge[17695]:     at Characteristic.emit (events.js:217:7)
Feb 27 22:54:26 raspberrypi3 homebridge[17695]:     at Characteristic.getValue (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Characteristic.js:164:10)
Feb 27 22:54:26 raspberrypi3 homebridge[17695]:     at Bridge.<anonymous> (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:762:20)
Feb 27 22:54:26 raspberrypi3 systemd[1]: homebridge.service: Main process exited, code=exited, status=1/FAILURE
Feb 27 22:54:26 raspberrypi3 systemd[1]: homebridge.service: Unit entered failed state.
Feb 27 22:54:26 raspberrypi3 systemd[1]: homebridge.service: Triggering OnFailure= dependencies.
Feb 27 22:54:26 raspberrypi3 systemd[1]: homebridge.service: Failed with result 'exit-code'.
Feb 27 22:54:37 raspberrypi3 systemd[1]: homebridge.service: Service hold-off time over, scheduling restart.
Feb 27 22:54:37 raspberrypi3 systemd[1]: Stopped Node.js HomeKit Server.
Feb 27 22:54:37 raspberrypi3 systemd[1]: Started Node.js HomeKit Server.


Geplante Neustarts von Homebridge enden außerdem mit code=exited, status=143/n/a

justme1968

ich habe eine version veröffentlich die die änderung beim batterie status rückgängig macht. geht es damit wieder besser?

@kennymc.c: der fehler wird jetzt auch abgefangen. ich verstehe aber noch nicht wie es überhaupt dazu kommen konnte...
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

kennymc.c

Mit dem Update sind nun alle schwache Batterie Hinweise wieder verschwunden. Die Abstürze in der Eve App sind bisher auch nicht mehr aufgetreten, zumindest nicht mehr reproduzierbar. Allerdings bleibt es beim Exit Code 143 bei Restarts und Stops von Homebridge über systemd.
Lässt sich der Log Output beim Start eventuell auch reduzieren?

no_Legend

Bei mir scheint nun auch wieder alles mit dem Batteriestatus zu funktionieren.


Gesendet von iPhone mit Tapatalk Pro
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

justme1968

#3111
@Loredo:

weil ich es gerade gesehen habe:

   │       New minor version of npm available! 6.8.0 → 6.9.0       │
   │   Changelog: https://github.com/npm/cli/releases/tag/v6.9.0   │
   │               Run npm install -g npm to update!               │



der update hinweis von npm selber sagt auch das bei minor versions änderung install nötig ist.

ist also korrekt so wie wie es gesehen haben.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

MatthiasL

Zitat von: Matze89 am 02 Februar 2019, 10:46:46
Hallo an euch,

Wichtig zuvor: Man benötigt iOS 12.2 Beta, homebridge 0.4.46 + homebridge-fhem 0.4.5 und ein kompatibler Fernseher mit Einbindung in eines der FHEM-Module

Hiermit möchte ich um eure Unterstützung bei der Nutzung/Entwicklung von der Homebridge-Erweiterung "Television" bitten, um gemeinsam diese Funktion für die nächste iOS 12.2 startklar zu machen.
Um was es hierbei geht? -> Hier zu lesen: https://www.macstories.net/ios/hands-on-with-ios-12-2s-homekit-support-for-smart-tvs/

Da ich aktuell selbst am ausprobieren bin und teste, würde ich sehr um eure Mithilfe/Verbesserungen bitten. Gerne ergänze ich hierbei die Möglichkeiten/Fehler/Weiterentwicklungen.

Es gibt ja unterschiedliche FHEM-Module für Fernsehmodelle: LG, Sony, Samsung oder sogar Harmony. - Man könnte mit der Homebridge-Erweiterung "Television" sozusagen an jeder Stelle anbinden.

Anbei der aktuelle Entwicklungsweg:

1. Über SSH Homebridge stoppen:
sudo service homebridge stop

2. Jetzt kommt es zur individuellen Lösung, je nach TV-Hersteller mit kompatiblen FHEM-Modul.
Ich besitze einen Sony-KDL-65W857 und verbinde ihn mit BRAVIA-Modul. Ich habe damit sozusagen unzählige Readings und Funktionen den Fernseher zu steuern.
Zuerst habe ich jetzt das Modul in die passende Kategorie verschoben, damit Homebridge auch das Device abliest. (in meinem Fall war es Home)
Im Device habe ich das "genericDeviceType" auf "Television" gesetzt.
Dies geht mit folgendem Befehl: attr <name > genericDeviceType Television

3. Jetzt müssen wir noch eine funktionierende "homebridgeMapping" erstellen. Hierzu benötigen wir alle Informationen, was "Service: television" alles kann. Das finden wir hier:
https://github.com/KhaosT/HAP-NodeJS/blob/master/lib/gen/HomeKitTypes-Television.js

4. Aktuell habe ich folgendes schon in homebridgeMapping eingebunden:


clear
ConfiguredName=model
Active=state,values=off:0;on:1,cmds=1:on;0:off
ActiveIdentifier=InputDeviceType,cmds=1:input+HDMI+1;2:input+HDMI+2;3:input+HDMI+3;4:input+HDMI+4;1:input+Netflix
RemoteKey=remoteControl,cmds=REWIND:remoteControl+Rewind;FAST_FORWARD:remoteControl+FastForward;NEXT_TRACK:remoteControl+NEXT_TRACK;PREVIOUS_TRACK:remoteControl+PREVIOUS_TRACK;ARROW_UP:remoteControl+Up;ARROW_DOWN:remoteControl+Down;ARROW_LEFT:remoteControl+Left;ARROW_RIGHT:remoteControl+Right;SELECT:remoteControl+Ok;BACK:remoteControl+RETURN;EXIT:remoteControl+Exit;PLAY_PAUSE:remoteControl+Play;INFORMATION:remoteControl+Home
SleepDiscoveryMode:default=ALWAYS_DISCOVERABLE

TelevisionSpeaker#Mute=mute,subtype=SonyTVSpeaker
TelevisionSpeaker#Active:default=ACTIVE
TelevisionSpeaker#VolumeSelector=volume::state,cmds=0:VolumeUp;1:VolumeDown
TelevisionSpeaker#VolumeControlType:default=ABSOLUTE



5. Homebridge wieder starten per SSH:
sudo service homebridge start

Tipp: Sollte es zu Problemen kommen oder man ist am ausprobieren, nutze ich immer das temporäre starten von Homebridge in der Kommandozeile. Damit kann man sehen, was nicht richtig funktioniert.
sudo service homebridge stop
sudo homebridge


--- Bis hier ist mein aktueller Ist-Zustand. Ich kann den Fernseher einschalten und bedienen. Demnächst würde ich noch gerne die Eingänge zuweisen und steuern können. Dazu möchte ich die aktuellen TV-Sender darstellen und zeigen, was aktuell läuft. Dies funktioniert aktuell in 12.2 über Apple-TV problemlos und echt genial - (Bild: IMG_4786.jpg).

Beiliegend noch einige Screenshots von der Steuerung meines Sony-TVs: (Bild: IMG_4784.jpg, IMG_4783.jpg, IMG_4785.jpg)

Gruß Matthias

Guten Morgen,
ich habe gestern ein bisschen mit dem Code experimentiert um die verschiedenen Quellen ins HomeKit zu bekommen.
Es funktioniert mit dem Code, dass einem die Eingänge 1-5 in der Apple Home App dargestellt werden.
Ich denke, damit ließe sich einiges anstellen. @Andre  ;) Interessant wird es ab Zeile 2827

justme1968

das klingt klasse... leider scheint es bei mir nicht zu funktionieren :(

wenn ich deinen code verwende bekomme ich 5 neue services im raum mit namen 1-5 die sich nicht schalten lassen und die eingang characteristic im tv device ist immer noch leer.

kannst du mal zeigen wie das bei dir auscchaut? wie schaut dein komplettes mapping für das device aus?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

justme1968

kommando zurück :)

mit der aktuellen beta 5 geht es. und mein alter test code auch.

es lag also zumindest zum teil an apple...

ich baue in das nächste update eine version ein die sich über das homebridgeMapping konfigurieren lässt.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

MatthiasL

Mein Testcode war ja lediglich zum testen, wie sich Eingänge anlegen lassen. Schalten konnte ich sie auch nicht.
Hast du zum testen deine index.js verwendet oder meine?

Wenn ich mit der Standard (veröffentlichten Version) index.js starte ist alles wie vorher...

Beste Grüße

Matthias

justme1968

bis beta 4 habe ich nich nicht mal das anlegen hin bekommen. weder mit
deinem noch mit meinem code.

mit beta 5 geht beides.

ich habe noch nichts eingecheckt. mache ich sobald ich die konfigurierbare version gebaut habe.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

MatthiasL

Komisch, das anlegen hat bei mir auch mit der Beta 4 schon geklappt.
Es hat aber 2 Home App neustarts gedauert, bis die Eingänge dann auch gezeigt wurden.

Mit der Beta 5 werden mir mit deiner Version gar keine Eingänge angelegt...

MatthiasL

Zitat von: justme1968 am 13 März 2019, 12:58:27
bis beta 4 habe ich nich nicht mal das anlegen hin bekommen. weder mit
deinem noch mit meinem code.

mit beta 5 geht beides.

ich habe noch nichts eingecheckt. mache ich sobald ich die konfigurierbare version gebaut habe.

Kann ich dich irgendwie unterstützen?

justme1968

wenn dir danach ist kannst du mal probieren ob es inzwischen auch über ein homebrisgeMapping geht.

das linken der services scheint mit beta 5 nicht unbedingt nötig zu sein.

zumindest ging es bei einem versuch vorhin auch ohne.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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