lapixo / homebridge-bsblan-thermostat

MIT License
1 stars 2 forks source link

Adding a second heating circuit #5

Open chalojak opened 2 years ago

chalojak commented 2 years ago

Hello, and first, thanks for the plugin! I have 2 heating circuits in my set up. Do I understand correctly that to add a second circuit as another thermostat, I need to add a second accessory and rewrite all default parameters to the ones that are representing a second circuit ? suggesting an example with states for heat, but all the remaining ones would need to be remapped, right? The different polling interval is clear to me.

1st circut with default settings: { "accessory": "BSBThermostat", "name": "Thermostat-HK1", "apiroute": "http://1.1.1.1", "pollInterval": 35 }, { "accessory": "BSBThermostat", "name": "Thermostat-HK2", "apiroute": "http://1.1.1.1", "pollInterval": 50, "statesForHeat": 8001 } ],

image

lapixo commented 2 years ago

Hi, yes that's right, you can map all state IDs for the second circuit as a new accessory.

The important states you must change are:

The statesForHeat and statesForCool should be the same. For example:

{
"accessory": "BSBThermostat",
"name": "Thermostat-HK1",
"apiroute": "http://1.1.1.1/",
"pollInterval": 35
},
{
"accessory": "BSBThermostat",
"name": "Thermostat-HK2",
"apiroute": "http://1.1.1.1/",
"pollInterval": 50,
"currentHeatingCircuitStateID": 8001,
"heatingStateID": 1000,
"comfortTempID": 1010,
"coolingTempID": 1012,
}

I hope i could help you ;)

Gruß aus Badbergen ;)

chalojak commented 2 years ago

Thanks, I confirm that it works! :) I have a few observations: 122 is also a heating state (when you have room a thermostat control). Could you explain what is "currentHeatOperationModeID" refers to (and how does it differ from "currentHeatingCircuitStateID")? My Broetje boiler does not recognize this value, so I would like to figure out to which another parameter should I map it. This the output { "10102": { "name": "INFO HK1 - TBD", "dataType_name": "UNKNOWN", "dataType_family": "VALS", "error": 260, "value": "03022484FFFFFFFF0201", "desc": "", "precision": 0.1, "dataType": 0, "readonly": 0, "readwrite": 0, "unit": ""

Thanks, Jakub

lapixo commented 2 years ago

Your Output look good and is correct.

The currentHeatOperationModeID (10102) is used to determine to wich target temperature the "burner" is heating/cooling if we are in auto mode and show the target temperature in HomeKit.

currentHeatingCircuitStateID (8000) show the current operation mode for example "cool" "heat" or "off". used to show in HomeKit.

it is a little bit complicated. But you should use both params!

Here is the explanation from @fredlcore (the bsb developer)

Parameter 10102 gibt einen längeren Hex-Wert zurück. Wenn man im Automatik-Modus ist (also Parameter 700 auf 1), dann sagt einem das zweite Byte, in welchem Modus man sich gerade befindet: 01 = Automatik Reduziert „normal“ 02 = Automatik Komfort „normal“ 03 = Präsenztaste auf „Reduziert" von Automatik-Komfort aus ausgelöst (also dann „Reduziert“) 04 = Präsenztaste auf „Komfort" von Automatik-Reduziert aus ausgelöst (also dann „Komfort“) Kurz gesagt: 01/03 ist „Reduziert“, 02/04 ist „Komfort“ Für HK2/3 wären dann die Parameter 10203 und 10204 zuständig.