Autor Thema: Homebridge - Subtype und Themostat  (Gelesen 361 mal)

Offline SirBen

  • Jr. Member
  • **
  • Beiträge: 60
Homebridge - Subtype und Themostat
« am: 10 Juni 2019, 13:58:18 »
Moin,
ich habe ein Problem mit mehreren characteristics in einem Device.
Mein MYSENSOR Device hat mehrere Thermostate, welche ich gerne zu homebridge mappen möchte.
Als Mapping ist zurzeit folgendes eingetragen:
clear
TargetTemperature=hvacsetpointheat3::hvacsetpointheat3,minValue=18,maxValue=26,minStep=0.5,subtype=AZ,nocache=1
CurrentTemperature=temperature2,subtype=AZ,nocache=1
CurrentRelativeHumidity=humidity1,subtype=AZ,nocache=1
CurrentHeatingCoolingState=status3,values=off:0;;on:1;;cool:2,subtype=AZ,nocache=1
TargetHeatingCoolingState=status3,values=off:0;;on:1;;cool:2,subtype=AZ,nocache=1

TargetTemperature=hvacsetpointheat6::hvacsetpointheat6,minValue=18,maxValue=26,minStep=0.5,subtype=Ella,nocache=1
CurrentTemperature=temperature5,subtype=Ella,nocache=1
CurrentRelativeHumidity=humidity4,subtype=Ella,nocache=1
CurrentHeatingCoolingState=status6,values=off:0;;on:1;;cool:2,subtype=Ella,nocache=1
TargetHeatingCoolingState=status6,values=off:0;;on:1;;cool:2,subtype=Ella,nocache=1

Bei homebridge auf dem raspberry kommt folgende Fehlermeldung:
[2019-6-1 10:49:14] [FHEM] MYSENSOR_0 is thermostat
[2019-6-1 10:49:14] [FHEM] MYSENSOR_0 is NOT a thermostat. set command for target temperature missing:
[2019-6-1 10:49:14] [FHEM] MYSENSOR_0 has
[2019-6-1 10:49:14] [FHEM]   CurrentTemperature [temperature2]
[2019-6-1 10:49:14] [FHEM]   CurrentTemperature [temperature5]
[2019-6-1 10:49:14] [FHEM]   CurrentRelativeHumidity [humidity1]
[2019-6-1 10:49:14] [FHEM]   CurrentRelativeHumidity [humidity4]
[2019-6-1 10:49:14] [FHEM]   CurrentHeatingCoolingState [status3]
[2019-6-1 10:49:14] [FHEM]   CurrentHeatingCoolingState [status6]
[2019-6-1 10:49:14] [FHEM]   TargetHeatingCoolingState [status3]
[2019-6-1 10:49:14] [FHEM]   TargetHeatingCoolingState [status6]

In der Home App werden die Geräte und deren Werte alle richtig angezeigt (bis auf die Solltemperatur, die steht immer bei 10°C), ich kann die einzelnen Geräte aber nicht in verschiedene Räume zuweisen. Sie werden immer alle gleichzeitig verschoben. Klingt für mich nach einem Problem mit subtype.

Trage ich nur die Mappings für einen Subtype ein:
TargetTemperature=hvacsetpointheat3::hvacsetpointheat3,minValue=18,maxValue=26,minStep=0.5,subtype=AZ,nocache=1
CurrentTemperature=temperature2,subtype=AZ,nocache=1
CurrentRelativeHumidity=humidity1,subtype=AZ,nocache=1
CurrentHeatingCoolingState=status3,values=off:0;;on:1;;cool:2,subtype=AZ,nocache=1
TargetHeatingCoolingState=status3,values=off:0;;on:1;;cool:2,subtype=AZ,nocache=1

funktioniert alles ohne Fehler. Auch die Solltemperatur.

Kann mir jemand mit dem Problem helfen? Gibt es vielleicht ein Bug mit subtype?

Danke und Gruß
Ben

P.S.:
├── homebridge@0.4.49
├── homebridge-fhem@0.5.4
├── n@4.1.0
└── npm@6.9.0

Offline SirBen

  • Jr. Member
  • **
  • Beiträge: 60
Antw:Homebridge - Subtype und Themostat
« Antwort #1 am: 13 Juni 2019, 13:57:09 »
Hallo nochmal,
ich habe mal versucht aus dem homebridge-fhem Modul schlau zu werden, aber das übersteigt meine Kenntnisse.  :-\
Wenn ich Homebridge im debug Modus starte, erhalte ich diese Ausgabe:
[FHEM] mappings for MYSENSOR_0: { CurrentHeatingCoolingState:
   [ { default: 'HEAT',
       reading: 'status3',
       values: [Array],
       subtype: 'AZ',
       nocache: '1' },
     { reading: 'status6',
       values: [Array],
       subtype: 'Ella',
       nocache: '1' } ],
  TargetTemperature:
   [ { reading: 'hvacsetpointheat3',
       cmd: 'hvacsetpointheat3',
       minValue: 18,
       maxValue: 26,
       minStep: 0.5,
       subtype: 'AZ',
       nocache: '1' },
     { reading: 'hvacsetpointheat6',
       cmd: 'hvacsetpointheat6',
       minValue: 18,
       maxValue: 26,
       minStep: 0.5,
       subtype: 'Ella',
       nocache: '1' }],
  CurrentTemperature:
   [ { reading: 'temperature2', subtype: 'AZ', nocache: '1' },
     { reading: 'temperature5', subtype: 'Ella', nocache: '1' } ],
  CurrentRelativeHumidity:
   [ { reading: 'humidity1', subtype: 'AZ', nocache: '1' },
     { reading: 'humidity4', subtype: 'Ella', nocache: '1' } ],
  TargetHeatingCoolingState:
   [ { reading: 'status3',
       values: [Array],
       subtype: 'AZ',
       nocache: '1' },
     { reading: 'status6',
       values: [Array],
       subtype: 'Ella',
       nocache: '1' } ] }

Das sieht für mich alles richtig aus.
Allerdings kommt weiterhin diese Ausgabe:
[2019-6-13 13:48:21] [FHEM] MYSENSOR_0 is thermostat
[2019-6-13 13:48:21] [FHEM] MYSENSOR_0 is NOT a thermostat. set command for target temperature missing:
[2019-6-13 13:48:21] [FHEM] MYSENSOR_0 has
[2019-6-13 13:48:21] [FHEM]   CurrentHeatingCoolingState [status3]
[2019-6-13 13:48:21] [FHEM]   CurrentHeatingCoolingState [status6]
[2019-6-13 13:48:21] [FHEM]   CurrentHeatingCoolingState [status9]
[2019-6-13 13:48:21] [FHEM]   CurrentTemperature [temperature2]
[2019-6-13 13:48:21] [FHEM]   CurrentTemperature [temperature5]
[2019-6-13 13:48:21] [FHEM]   CurrentTemperature [temperature8]
[2019-6-13 13:48:21] [FHEM]   CurrentRelativeHumidity [humidity1]
[2019-6-13 13:48:21] [FHEM]   CurrentRelativeHumidity [humidity4]
[2019-6-13 13:48:21] [FHEM]   CurrentRelativeHumidity [humidity7]
[2019-6-13 13:48:21] [FHEM]   TargetHeatingCoolingState [status3]
[2019-6-13 13:48:21] [FHEM]   TargetHeatingCoolingState [status6]
[2019-6-13 13:48:21] [FHEM]   TargetHeatingCoolingState [status9]

Wo liegt der Fehler? Kann mir jemand dabei helfen?

Vielen Dank.

Gruß Ben

P.S.: Gibt es die Möglichkeit, einen Raum im Mapping direkt mit anzugeben?

Offline SirBen

  • Jr. Member
  • **
  • Beiträge: 60
Antw:Homebridge - Subtype und Themostat
« Antwort #2 am: 15 Juni 2019, 10:39:37 »
Moin,
wieder was Neues!
Ich habe in dem npm Modul (homebridge-fhem) in der index.js die Zeile 1952 auskommentiert ("delete this.mappings.TargetTemperature;") und die Thermostate funktionieren jetzt richtig. Die Solltemperatur kann eingestellt werden. Es ist also definitiv ein Bug in dem Modul.
Allerdings gibt es noch ein Problem:
Alle Thermostate sind immer im selben Raum. Verschiebt man einen, verschieben sich alle.

Gruß Ben
« Letzte Änderung: 15 Juni 2019, 10:44:50 von SirBen »

Offline SirBen

  • Jr. Member
  • **
  • Beiträge: 60
Antw:Homebridge - Subtype und Themostat
« Antwort #3 am: 16 Juni 2019, 12:19:45 »
So, ich hab's aufgegeben. Habe jetzt für jeden Raum einen dummy Thermostat angelegt und nur ein homebridgemapping+genericDeviceType pro Thermostat gesetzt. Jetzt funktioniert alles wie gewünscht. Allerdings nur, wenn ich wie oben beschrieben, die eine Zeile auskommentiere.
Ich kann mit der Lösung leben. Falls jemand den Fehler / Bug findet, wäre ich sehr interessiert an der Lösung.
Danke trotzdem an alle!

Hier noch meinen Workaround:
define Thermostat_Raum1 dummy

attr Thermostat_Raum1 homebridgemapping TargetTemperature=MYSENSOR_0:hvacsetpointheat3,cmd=hvacsetpointheat3,minValue=18,maxValue=26,minStep=0.5,nocache=1
CurrentTemperature=MYSENSOR_0:temperature2,nocache=1
CurrentRelativeHumidity=MYSENSOR_0:humidity1,nocache=1
CurrentHeatingCoolingState=MYSENSOR_0:status3,values=off:0;;on:1;;cool:2,nocache=1
TargetHeatingCoolingState=MYSENSOR_0:status3,values=off:0;;on:1;;cool:2,nocache=1

attr Thermostat_Raum1 genericDeviceType thermostat

attr Thermostat_Raum1 room Homebridge

Wichtig ist bei TargetTemperature, dass im ersten Teil (das Reading) das device mit angegeben wird und im cmd Teil NICHT mit angegeben wird. Sonst funktioniert das nicht.

Gruß Ben