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
welche homebridge-fhem version hast du?
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.
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.
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.
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 ?
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.
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
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.