FHEM Forum

FHEM => Frontends => Sprachsteuerung => Thema gestartet von: SirBen am 10 Juni 2019, 13:58:18

Titel: [GELÖST] Homebridge - Subtype und Themostat
Beitrag von: SirBen 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
Titel: Antw:Homebridge - Subtype und Themostat
Beitrag von: SirBen 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?
Titel: Antw:Homebridge - Subtype und Themostat
Beitrag von: SirBen 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
Titel: Antw:Homebridge - Subtype und Themostat
Beitrag von: SirBen 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
Titel: Antw:Homebridge - Subtype und Themostat
Beitrag von: justme1968 am 18 Februar 2021, 09:29:40
zeig mal bitte ein jsonlist2 vom device. ich vermute da taucht das set commando nicht richtig auf.
Titel: Antw:Homebridge - Subtype und Themostat
Beitrag von: SirBen am 06 März 2021, 12:45:37
Moin,
hier mal das jsonlist2 vom Device:
{
  "Arg":"Thermostat_Badezimmer",
  "Results": [
  {
    "Name":"Thermostat_Badezimmer",
    "PossibleSets":" ",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 disable disabledForIntervals readingList setExtensionsEvent:1,0 setList useSetExtensions event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading DbLogExclude DbLogInclude DbLogValueFn:textField-long cmdIcon devStateIcon devStateIcon:textField-long devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock,IrrigationSystem,Speaker,television,Valve homebridgeMapping:textField-long icon siriName sortby webCmd webCmdLabel:textField-long widgetOverride model userattr",
    "Internals": {
      "FUUID": "5d05cda0-f33f-2b06-a343-e2bb09c58fef870c",
      "NAME": "Thermostat_Badezimmer",
      "NR": "63",
      "STATE": "???",
      "TYPE": "dummy"
    },
    "Readings": {      "state": { "Value":"???", "Time":"2019-08-25 07:51:14" } },
    "Attributes": {
      "genericDeviceType": "thermostat",
      "homebridgeMapping": "TargetTemperature=MYSENSOR_0:hvacsetpointheat15,cmd=hvacsetpointheat15,minValue=18,maxValue=26,minStep=0.5,nocache=1\nCurrentTemperature=MYSENSOR_0:temperature14,nocache=1\nCurrentRelativeHumidity=MYSENSOR_0:humidity13,nocache=1\nCurrentHeatingCoolingState=MYSENSOR_0:status15,values=off:0;;on:1;;cool:2,nocache=1\nTargetHeatingCoolingState=MYSENSOR_0:status15,values=off:0;;on:1;;cool:2,nocache=1",
      "model": "Badezimmer",
      "room": "Homebridge",
      "siriName": "Thermostat",
      "userattr": "model"
    }
  }  ],
  "totalResultsReturned":1
}


Gruß Ben
Titel: Antw:Homebridge - Subtype und Themostat
Beitrag von: justme1968 am 06 März 2021, 13:11:39
dein device liefert keine sets. d.h. PossibleSets ist leer.
Titel: Antw:Homebridge - Subtype und Themostat
Beitrag von: SirBen am 06 März 2021, 13:54:30
Ich habe jetzt bei den Thermostat Dummy hinzugefügt:
attr Thermostat_Badezimmer setList hvacsetpointheat15

Damit läuft Homebridge nun ohne Fehler.
Ich kann auch mit Homebridge (EVE oder HOME App) die Temperatur einstellen.

Vielen Dank!
Gruß Ben