Problem mit Roommate und Homebridge

Begonnen von r_knipp, 18 März 2019, 11:24:30

Vorheriges Thema - Nächstes Thema

r_knipp

Hallo zusammen,

ich habe meinen FHEM Server neu aufgesetzt und nach allen Installationen den gesicherten FHEM Ordner zurückkopiert.
Nun funktioniert Homebridge nicht mehr mit Roommate.
Hier die Ausgabe von Homebridge:

[3/18/2019, 11:16:42 AM] [FHEM] Initializing platform accessory 'rr_Robert'...
[3/18/2019, 11:16:42 AM] [FHEM] creating services for rr_Robert
[3/18/2019, 11:16:42 AM] [FHEM]   information service for rr_Robert
[3/18/2019, 11:16:42 AM] [FHEM]     manufacturer, model and serial number characteristics for rr_Robert
[3/18/2019, 11:16:42 AM] [FHEM]   Switch service for rr_Robert
HAP Warning: Characteristic 00000071-0000-1000-8000-0026BB765291 not in required or optional characteristics for service 00000049-0000-1000-8000-0026BB765291. Adding anyway.
[3/18/2019, 11:16:42 AM] [FHEM]     OccupancyDetected characteristic for rr_Robert:presence
[3/18/2019, 11:16:42 AM] [FHEM]   Switch service for rr_Robert (gotosleep)
[3/18/2019, 11:16:42 AM] [FHEM]     On(gotosleep) characteristic for rr_Robert:state
[3/18/2019, 11:16:42 AM] [FHEM]   Switch service for rr_Robert (asleep)
[3/18/2019, 11:16:42 AM] [FHEM]     On(asleep) characteristic for rr_Robert:state
/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:152
      if (service.subtype.toString() === existing.subtype.toString())
                                                          ^

TypeError: Cannot read property 'toString' of undefined
    at Accessory.addService (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:152:59)
    at /usr/lib/node_modules/homebridge/lib/server.js:454:19
    at Array.forEach (<anonymous>)
    at Server._createAccessory (/usr/lib/node_modules/homebridge/lib/server.js:434:14)
    at Server.<anonymous> (/usr/lib/node_modules/homebridge/lib/server.js:396:32)
    at /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/once.js:16:19
    at FHEMPlatform.<anonymous> (/usr/lib/node_modules/homebridge-fhem/index.js:1189:22)
    at Request.self.callback (/usr/lib/node_modules/homebridge-fhem/node_modules/request/request.js:185:22)
    at Request.emit (events.js:197:13)
    at Request.<anonymous> (/usr/lib/node_modules/homebridge-fhem/node_modules/request/request.js:1161:10)


Das Listing des Roommate Devices:
Internals:
   DEF        rgr_Bewohner
   DURATIONTIMER 1552904289.60204
   FUUID      5c826f15-f33f-6a92-6c5a-518c862e05e51bab
   FVERSION   20_ROOMMATE.pm:0.188480/2019-03-10
   NAME       rr_Robert
   NOTIFYDEV  global,rr_Robert_wakeuptimer1,rr_Robert_wakeuptimer2,rr_Robert_wakeuptimer1_resetswitcher,rr_Robert_wakeuptimer2_resetswitcher
   NR         34
   NTFY_ORDER 50-rr_Robert
   READY      1
   RESIDENTGROUPS rgr_Bewohner
   STATE      home
   TYPE       ROOMMATE
   READINGS:
     2019-03-18 01:25:33   durTimerAbsence 00:00:00
     2019-03-18 01:25:33   durTimerAbsence_cr 0
     2019-03-18 11:17:09   durTimerPresence 00:14:17
     2019-03-18 11:17:09   durTimerPresence_cr 14
     2019-03-18 08:00:01   durTimerSleep   00:00:00
     2019-03-18 08:00:01   durTimerSleep_cr 0
     2019-03-18 10:51:06   fhemMsgPush     Batterie Aussensensor wechseln.
     2019-03-18 10:51:06   fhemMsgPushGw   po_robert:OK
     2019-03-18 10:51:06   fhemMsgPushPrio 0
     2019-03-18 10:51:06   fhemMsgPushState 1
     2019-03-18 10:51:06   fhemMsgPushTitle Batteriewarnung
     2016-11-28 19:46:28   fhemMsgScreen   Batterie Aussensensor wechseln.
     2016-11-28 19:46:28   fhemMsgScreenGw VUUno:OK
     2016-11-28 19:46:28   fhemMsgScreenPrio 0
     2016-11-28 19:46:28   fhemMsgScreenState 1
     2016-11-28 19:46:28   fhemMsgScreenTitle Batteriewarnung
     2019-03-18 10:51:06   fhemMsgState    1
     2019-03-18 10:51:06   fhemMsgStateTypes push:1
     2019-03-18 11:02:52   lastArrival     2019-03-18 11:02:52
     2019-03-18 08:00:01   lastAwake       2019-03-18 08:00:01
     2019-03-18 11:02:47   lastDeparture   2019-03-18 11:02:47
     2019-03-18 11:02:52   lastDurAbsence  00:00:05
     2019-03-18 11:02:52   lastDurAbsence_cr 0
     2019-03-18 11:02:47   lastDurPresence 09:37:14
     2019-03-18 11:02:47   lastDurPresence_cr 577
     2019-03-18 08:00:01   lastDurSleep    05:56:31
     2019-03-18 08:00:01   lastDurSleep_cr 357
     2019-03-18 11:02:52   lastLocation    home
     2019-03-18 11:02:52   lastLocationAddr Bennigsenstraße 33
31275 Lehrte
Deutschland
     2019-03-18 11:02:52   lastLocationLat 52.379101
     2019-03-18 11:02:52   lastLocationLong 9.968863
     2019-03-18 11:02:52   lastLocationRadius 100
     2019-03-18 11:02:52   lastLocationTravDistance 0.00
     2019-03-18 11:02:47   lastMood        calm
     2019-03-18 11:02:52   lastPositionAddr Bennigsenstraße 33
31275 Lehrte
Deutschland
     2019-03-18 11:02:52   lastPositionBSSID 98:de:d0:d6:6:de
     2019-03-18 11:02:52   lastPositionBeaconUUID
     2019-03-18 11:02:52   lastPositionDistHome
     2019-03-18 11:02:52   lastPositionDistLocation 0.00
     2019-03-18 11:02:52   lastPositionLat 52.379101
     2019-03-18 11:02:52   lastPositionLong 9.968863
     2019-03-18 11:02:52   lastPositionMotion
     2019-03-18 11:02:52   lastPositionSSID BStreet
     2019-03-18 11:02:52   lastPositionTravDistance 0.00
     2019-03-18 02:03:30   lastSleep       2019-03-18 02:03:30
     2019-03-18 11:02:52   lastState       absent
     2019-03-18 07:30:00   lastWakeup      08:00
     2019-03-18 07:30:00   lastWakeupDev   rr_Robert_wakeuptimer1
     2019-03-18 11:02:52   location        home
     2019-03-18 11:02:52   locationAddr    Bennigsenstraße 33
31275 Lehrte
Deutschland
     2019-03-18 11:02:52   locationLat     52.379101
     2019-03-18 11:02:52   locationLong    9.968863
     2019-03-18 11:02:52   locationPresence present
     2019-03-18 11:02:52   locationRadius  100
     2019-03-18 11:02:52   locationTravDistance 0.00
     2019-03-18 11:02:52   mood            calm
     2019-03-18 07:30:00   nextWakeup      05:30
     2019-03-17 05:00:00   nextWakeupDev   rr_Robert_wakeuptimer1
     2019-03-18 11:02:52   positionAddr    Bennigsenstraße 33
31275 Lehrte
Deutschland
     2019-03-18 11:02:52   positionBSSID   98:de:d0:d6:6:de
     2019-03-18 11:02:52   positionBeaconUUID
     2019-03-18 11:02:52   positionDistHome
     2019-03-18 11:02:52   positionDistLocation 0.00
     2019-03-18 11:02:52   positionLat     52.379101
     2019-03-18 11:02:52   positionLong    9.968863
     2019-03-18 11:02:52   positionMotion 
     2019-03-18 11:02:52   positionSSID    BStreet
     2019-03-18 11:02:52   positionTravDistance 0.00
     2019-03-18 11:02:52   presence        present
     2019-03-18 11:02:52   state           home
     2019-03-18 08:00:01   wakeup          0
     2016-11-21 22:11:51   wayhome         0
   TIMER:
     rr_Robert_DurationTimer:
       HASH       rr_Robert
       MODIFIER   DurationTimer
       NAME       rr_Robert_DurationTimer
Attributes:
   alias      Robert
   devStateIcon .*home:user_available:absent .*absent:user_away:home .*gone:user_ext_away:home .*gotosleep:scene_toilet:asleep .*asleep:scene_sleeping:awoken .*awoken:scene_sleeping_alternat:home .*:user_unknown:home
   genericDeviceType switch
   group      Bewohnerstatus
   homebridgeMapping On=state,subtype=gotosleep,valueOn=/gotosleep/,valueOff=/awoken|home|asleep|gone|absent/,cmdOn=gotosleep,cmdOff=absent On=state,subtype=asleep,valueOn=/asleep/,valueOff=/home|awoken|gotosleep|gone|absent/,cmdOn=asleep,cmdOff=absent
   icon       people_sensor
   msgContactPush po_robert
   msgContactScreen VUUno
   room       Homekit,Wohnung
   rr_geofenceUUIDs 6FB49AA4-4DA2-4321-97B5-19CD50D0D60D
   rr_realname alias
   rr_wakeupDevice rr_Robert_wakeuptimer1,rr_Robert_wakeuptimer2
   siriName   Robert
   sortby     1
   webCmd     state


Wenn ich es aus dem Raum Homekit entferne läuft Homebridge auch.
Ich bekomme einfach nicht heraus, wo der Fehler ist.
Hoffe ihr könnt mir weiterhelfen.

Vielen Dank!

Viele Grüße,
Robert

justme1968

welche homebridge-fhem version hast du?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

r_knipp

Zitat von: justme1968 am 18 März 2019, 12:42:15
welche homebridge-fhem version hast du?

0.5.4 habe ich. Sollte die neueste sein. Habe ja alles neu installiert.

justme1968

das problem ist folgendes: für ROOMMATE wird automatisch eine OccupancyDetected characteristic angelegt. diese wird aber ohne subtype angelegt. in aktuellen homebridge versionen müssen aber alle characteristics eines service einen gesetzten subtype haben. ausserdem sollte man characteristics am besten in den dafür vorgesehenen services anlegen und nicht mischen. sonst zeigt die home app vieles nicht an. andere apps sind eventuell großzügiger.

es gibt mehrere möglichkeiten das zu lösen:

  • du setzt für OccupancyDetected den subtype
    d.h. du musst im homebridge mapping zusätzlich ein OccupancyDetected:subtype=presence haben.

  • oder du löchst den genericDeviceType und verwendest als primären typ den automatisch erkannten OccupancySensor und änderst in deinem mapping nur das On beide male auf Switch#On. damit legst du zusätzlich zu OccupancySensor service noch einen Switch service für die schalter an. das ist vermtlich der sauberste weg da ein switch keine OccupancyDetected characteristic hat.

  • oder du löschst alles was automatisch erkannt wird mit einem clear am anfang deines homebridgeMappings und hast dann nur die beiden schalter
  • optional kannst du den OccupancySensor dann als eigenen service mit OccupancySensor#OccupancyDetected:presence wieder hinzufügen. das entspricht im prinzip 2., nur alles ausgeschrieben
  • andere permutationen der obigen beispiele


clear
On=state,subtype=gotosleep,valueOn=/gotosleep/,valueOff=/awoken|home|asleep|gone|absent/,cmdOn=gotosleep,cmdOff=absent
On=state,subtype=asleep,valueOn=/asleep/,valueOff=/home|awoken|gotosleep|gone|absent/,cmdOn=asleep,cmdOff=absent
OccupancySensor#OccupancyDetected:presence


ps: das homebridgeMapping darf mehrzeilig sein. das macht es übersichtlicher.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

r_knipp

Vielen Dank für deine ausführliche Erklärung.
Habe es laut dem zweiten Punkt geändert. War ja auch ganz einfach und funktioniert nun.  :D
Dann lag es also nur an der falschen Konfiguration für die aktuelle Version von homebridge-fhem.

tommitiger75

#5
Hallo, ich habe das gleiche Problem mit meinen Homematic Heizkörperthermostaten, sobald ich sie zur Homebridge hinzufüge funktioniert diese nicht mehr. Vor dem Update auf die neuste Version lief es ohne Probleme. Hier mein HomebridgeMapping:

TargetHeatingCoolingState=heatingState,values=OFF:0;;HEAT:1;;COOL:2;;AUTO:3,cmds=OFF:controlManu+off;;HEAT:4.CONTROL_MODE+boost;;AUTO:4.CONTROL_MODE+auto;;COOL:4.CONTROL_MODE+night CurrentHeatingCoolingState=heatingState,values=OFF:0;;HEAT:1;;COOL:2;;AUTO:0 CurrentTemperature=4.ACTUAL_TEMPERATURE,minValue=-30,nocache=1,subtype=Temperatur
TargetTemperature=control::control,minValue=8,maxValue=30,minStep=0.5,nocache=1 StatusLowBattery=battery,values=ok:BATTERY_LEVEL_NORMAL;;/^.*/:BATTERY_LEVEL_LOW

genericDeviceType thermostat



Fehlermeldung in Homebridge:

2019-4-1 00:54:40] [FHEM] Initializing platform accessory 'HM_HM_BZ_001'...
[2019-4-1 00:54:40] [FHEM] creating services for HM_HM_BZ_001
[2019-4-1 00:54:40] [FHEM]   information service for HM_HM_BZ_001
[2019-4-1 00:54:40] [FHEM]     manufacturer, model and serial number characteristics for HM_HM_BZ_001
[2019-4-1 00:54:40] [FHEM]   Thermostat service for HM_HM_BZ_001
HAP Warning: Characteristic 00000079-0000-1000-8000-0026BB765291 not in required or optional characteristics for service 0000004A-0000-1000-8000-0026BB765291. Adding anyway.
[2019-4-1 00:54:40] [FHEM]     StatusLowBattery characteristic for HM_HM_BZ_001:battery
[2019-4-1 00:54:40] [FHEM]     CurrentHeatingCoolingState characteristic for HM_HM_BZ_001:heatingState
[2019-4-1 00:54:40] [FHEM]     TargetHeatingCoolingState characteristic for HM_HM_BZ_001:heatingState
[2019-4-1 00:54:40] [FHEM]   Thermostat service for HM_HM_BZ_001 (Temperatur)
[2019-4-1 00:54:40] [FHEM]     CurrentTemperature(Temperatur) characteristic for HM_HM_BZ_001:4.ACTUAL_TEMPERATURE
[2019-4-1 00:54:40] [FHEM]     TargetTemperature characteristic for HM_HM_BZ_001:control
/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:152
      if (service.subtype.toString() === existing.subtype.toString())
                                                          ^

TypeError: Cannot read property 'toString' of undefined
    at Accessory.addService (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:152:59)
    at /usr/local/lib/node_modules/homebridge/lib/server.js:464:19
    at Array.forEach (<anonymous>)
    at Server._createAccessory (/usr/local/lib/node_modules/homebridge/lib/server.js:444:14)
    at Server.<anonymous> (/usr/local/lib/node_modules/homebridge/lib/server.js:406:32)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/once.js:16:19
    at FHEMPlatform.<anonymous> (/usr/local/lib/node_modules/homebridge-fhem/index.js:1189:22)
    at Request.self.callback (/usr/local/lib/node_modules/homebridge-fhem/node_modules/request/request.js:185:22)
    at Request.emit (events.js:189:13)
    at Request.<anonymous> (/usr/local/lib/node_modules/homebridge-fhem/node_modules/request/request.js:1161:10)


Was muss ich ändern damit es wieder funktioniert ?

justme1968

hast du nur homebridge-fhem aktualisiert? oder auch homebridge?

falls ja: kannst du bitte mal testen ob es am homebridge update liegt oder am homebridge-fhem update?

d.h. alte homebridge-version mit neuem homebridge-fhem.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

tommitiger75

Habe jetzt verschieden Konstellationen getestet.

HB-fhem 0.4.19 + HB 0.4.32 = OK
HB-fhem 0.4.19 + HB 0.4.47 = OK
HB-fhem 0.5.2  +  HB 0.4.47 = OK
HB-fhem 0.5.3  +  HB 0.4.47 = läuft NICHT!
HB-fhem 0.5.4  +  HB 0.4.47 = läuft NICHT!

Wenn Ich das Attribut Homebridgemapping lösche funktioniert es auch allerdings werden dann in Home am Thermostat keine bzw. Flasche Werte angezeigt.

Hier nochmal der Typ und das HomebridgeMapping


Internals

CHANGED
DEF KEQ0654046
FUUID 5c5c6dc6-f33f-aa16-6d2e-02bc51e9ee4d0c56
IODev d_ccu
NAME HM_HM_EZ_001
NR 125
STATE <div style='color:red'>T: 20.0°</div> AUTO
TYPE HMCCUDEV
ccuaddr KEQ0654046
ccudevstate active
ccuif BidCos-RF
ccuname HM-EZ-001
ccutype HM-CC-RT-DN
channels 7
firmware 1.5
statevals devstate

Readings

4.ACTUAL_TEMPERATURE 20.0
4.BATTERY_STATE 2.3
4.CONTROL_MODE AUTO
4.PARTY_TEMPERATURE 5.0
4.SET_TEMPERATURE 18.5
4.VALVE_STATE 0
R-ADAPTIVE_REGULATION 2
R-BACKLIGHT_ON_TIME 10
R-BOOST_AFTER_WINDOW_OPEN 0
R-BOOST_POSITION 80
R-BOOST_TIME_PERIOD 1
R-BURST_RX 1
R-BUTTON_LOCK 0
R-BUTTON_RESPONSE_WITHOUT_BACKLIGHT 0
R-CYCLIC_INFO_MSG 1
R-CYCLIC_INFO_MSG_DIS 0
R-DAYLIGHT_SAVING_TIME 1
R-DECALCIFICATION_TIME 660
R-DECALCIFICATION_WEEKDAY


ZitatTargetHeatingCoolingState=heatingState,values=OFF:0;;HEAT:1;;COOL:2;;AUTO:3,cmds=OFF:controlManu+off;;HEAT:4.CONTROL_MODE+boost;;AUTO:4.CONTROL_MODE+auto;;COOL:4.CONTROL_MODE+night CurrentHeatingCoolingState=heatingState,values=OFF:0;;HEAT:1;;COOL:2;;AUTO:0  CurrentTemperature=4.ACTUAL_TEMPERATURE,minValue=-30,nocache=1,subtype=Temperatur
TargetTemperature=control::control,minValue=8,maxValue=30,minStep=0.5,nocache=1 StatusLowBattery=battery,values=ok:BATTERY_LEVEL_NORMAL;;/^.*/:BATTERY_LEVEL_LOW

justme1968

das schaut aus als ob es an homebridge selber liegt. nicht an homebridge-fhem.

entferne mal das subtype=Temperatur aus dem homebridgeMapping und schau ob es dann geht.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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