# Release notes for upgrade to v0.9.46 or later This version comes with a lot of changes, including automatic configuration of HA controls. This may break existing set-ups. Please let me know if you encounter any issue or bug. Changes - HA control - Change of topic structure - Various improvements - quiet/silence levels supported (useful for power limitation) - bridge configuration via P command - user-defined timestamp support - E-series Fake temperature sensor - E-series Support for external electricity meter for realtime COP calculation - F-series fan speeds 0/1/2 supported in write commands - F-series model suggestions and configuration - Merge MHI/Hitachi code into main branch - Error mask for MHI/Hitachi - W\_SERIES firmware for HomeWizard 1-phase MID electricity meter - Security and double-reset AP - Use of MQTT messages and RTC memory for data caching and quick power loss recovery - Remove json output, old G/H/Z/other commands, bindata, hex-input option See also [known issues](KnownIssues.md). For Home Assistant configuration, you can follow the [instructions for Home Assistant](HomeAssistant.md). ## Topic structure change The old topic structure was `P1P2/P/\<4th IPv4 byte\>/\/\/\`. The new topic structure is highly configurable but is, by default, `P1P2/P/P1P2MQTT/bridge0/\/\/\`. It is recommended to switch to the new topic convention. ### Keeping old topic strucures of previous firmwares If you prefer to keep the old topic structure of previous firwmares, this can be done using the following steps and commands: - `J0` (silence MQTT before update) - flash ATmega and ESP8266 with new firmware v0.9.46 - `P` (show configuration parameters) - `P28 0` (do not use bridge name in topic) - `P13 122` (set device name to (for example) 122) - `D70` (delete old home assistant configs) - `J2` (enable MQTT output) - `D5` (save changes) - `D0` (restart ESP) ## HA control Home Assistant should automatically discover various devices, which you can add to your HA dashboards: | Device | Function |:-----------------|:-----------------------------------------------| | HC_Bridge | Settings and status of P1P2MQTT bridge | HC_Sensors | Temperature and other sensor information | HC_Setpoints_Main| Temperature setpoints main zone | HC_Setpoints_Add | Temperature setpoints additional zone | HC_Setpoints_Room| Temperature setpoints room | HC_Prices | Electricity/gas price | HC_Power | Power consumption (requires external meter) and production | HC_Mode | Operating modes | HC_FieldSettings | Field settings; changing any of these requires a system restart | HC_DHW | DHW settings and info | HC_Quiet | Quiet/silent mode setting | HC_COP | COP calculations | HC_Meters | Hours/kWh counters, `Counter_Control_Function` required to update counters | HC_Unknown | Some unknown entities In addition, HC_Setup should be auto-discovered but this is useful only for setup purposes, you may add this to a dashboard but it is not really necessary as it can be accessed from the configuration menu in HA. In this step some entities may be missing, which only pop up when the P1P2MQTT bridge operates in control mode (`L1`). This may take 5-20 minutes. It is therefore recommended to first start control mode (`L1` via telnet/MQTT or with `Control_Function` switch in HA), and add the HA devices to dashboards afterwards. ## Entity changes Various sensors used in earlier releases have been renamed, you may have to re-add devices and entities to your HA dashboard or change your scripts. ## Topic rebuilding To delete all (old) topics from earlier versions, and rebuild topics according to the current firmware and settings use command `D12`. ## Quiet/silence levels Quiet levels can now be selected. Heat pumps with support for silence levels use lower fan and compressor settings in silent modes. Surprisingly the silent levels can be more efficient (around 5%) , because the fan consumes less power in silend mode. This effect outweights any reduced effectiveness of the heat exchanger. ## Bridge configuration via P command The old B and I commands have been dropped. The P command enables to configure the bridge: ``` P P00: wifiManager SSID is P1P2MQTT P01: wifiManager password is P1P2P3P4 P02: MDNS name is P1P2MQTT_bridge0 P03: use static-IP (0=DHCP) is 0 P04: static-IP IPv4 address is P05: static-IP IPv4 gateway is P06: static-IP IPv4 netmask is P07: MQTT server IPv4 address is 192.168.4.12 P08: MQTT port is 1884 P09: MQTT username is P1P2 P10: MQTT password is P1P2 P11: MQTT clientname is P1P2MQTT_bridge0 P12: MQTT topic prefix is P1P2 P13: device name is P1P2MQTT P14: bridge name is bridge0 P15: HAconfig prefix is homeassistant P16: telnet magic word is _ P17: OTA hostname is P1P2MQTT_bridge0 P18: OTA password is P1P2MQTT P19: output mode is 0x0002 P20: output filter is 1 P21: noWiFi (for eth) is 0 P22: use device for HA name is 0 P23: use device name in devId is 0 P24: use device name in topic is 1 P25: use device name in ent. is 0 P26: use bridge for HA name is 0 P27: use bridge name in devId is 0 P28: use bridge name in topic is 1 P29: use bridge name in ent. is 0 P30: HA short device name is HC P31: ESPhwID [do not change] is 1 P32: (reserved) is P33: use NTP for time stamp is 2 P34: user-defined TZ is P35: mqtt_Electricity_Power is P1P2/P/meter/U/9/Electricity_Power P36: mqtt_Electricity_Total is P1P2/P/meter/U/9/Electricity_Total P37: mqtt_BUH_Power is P1P2/P/meter/U/9/Electricity_BUH_Power P38: mqtt_BUH_Total is P1P2/P/meter/U/9/Electricity_BUH_Total P39: R4T offset (0.01C) RWT is 0.20 P40: R1T offset (0.01C) mid is -0.18 P41: R2T offset (0.01C) LWT is 0.00 P42: RT offset (0.01C) room is 0.00 P43: use R1T instead of R2T is 0 P44: use energytotal is 1 P45: Electricity use <bridge is 35274 P46: Energy produced <bridge is 131948 P47: HA dashboard setup is 0 Factory reset scheduled (D8 to undo): no EEPROM modifications pending (D5 to save): no Waiting for consumption/production counters (D13): no ``` Parameters `P00`/`P01` configure the AP which is created when WiFi connection fails. For example, to set a custom password for the AP which automaically starts if WiFi is unavailable, use command `P1 MYPASSWORD`. If you forget your AP password, use a double-reset to recreate an AP with the default SSID/password. If you use more than one P1P2MQTT bridge on the same MQTT server, you should ensure that they have different bridge names and/or device names. Changing these in parameter P13 and P14 will re-initialize parameters `P02` and `P11` and `P17` to ensure uniqueness in your network. Parameter P16 provides for a rather simple protection mechanism for telnet access. It must start with an underscore, and if defined, the defined word must be typed as login-code. Parameter P19 determines the bridge's output mode, and corresponds to the `J` command that still works but with different values. The `J` command shows the options. By default hex data is no longer output, only MQTT data for HA. ``` J Outputmode 0x0002 is sum of 0x 0x0001 to output raw packet data (including pseudo-packets) over mqtt P1P2/R/xxx 1x 0x0002 to output mqtt individual parameter data over mqtt P1P2/P/xxx/# 0x 0x0004 (reserved) 0x 0x0008 to have mqtt include parameters even if functionality is unknown, warning: easily overloads ATmega/ESP (best to combine this with outputfilter >=1) 0x 0x0010 ESP to output raw data over telnet 0x 0x0020 to output mqtt individual parameter data over telnet 0x 0x0040 ESP to output timing info over telnet 0x 0x0080 (reserved) 0x 0x0100 to include non-HACONFIG parameters in P1P2/P/# 0x 0x0200 (reserved) 0x 0x0400 (reserved) 0x 0x0800 to restart HA-data communication (and throttling) after MQTT reconnect 0x 0x1000 to output timing data over P1P2/R/xxx (prefix: C/c) 0x 0x2000 to output error data over P1P2/R/xxx (prefix: \*) 0x 0x4000 (reserved) 0x 0x8000 to ignore serial input from ATmega ``` ## External electricity meter Parameter `P35` refers to an MQTT topic used to input electricity meter readings (in Watt) for `COP_Realtime` calculation. Parameters `P36`-`P38` are reserved for future use. ## Providing temperature offsets Parameters `P39`-`P42` enable you to correct the temperature readings. Wrong sensor readings may give a wrong offset on the calculated heat production. ## In case of a missing R2T sensor In most systems, temperature sensor R1T measures the circulating water temperature after the main heat pump heat exchanger, but before the back-up heater, and R2T measures the leaving water temperature (LWT) after the back-up heater. In some systems R2T is not present, and `P43` can be set to 1 in that case (followed by `D5` to save and `D12` to rebuild the MQTT topics). The bridge will then rename the R1T entity and use R1T instead of R2T for heat production calculations. ## COP before and after To stimulate optimal heat pump operation, the system measures the average COP over the full lifetime of your system (`COP_lifetime`), over the lifetime before you connected the P1P2MQTT bridge (COP\_before\_bridge), and after you connected the P1P2MQTT bridge (COP_after_bridge). This is done by logging the counters for consumed compressor electricity (heating) and for producted energy (compressor heating). When the system starts, it waits until the counters are visible on the P1/P2 interface. You may need to help it by either (1) requesting energy info data via the remote control, (2) pressing the `Set\_Cons\_Prod\_Counters` button in device HC\_Bridge in HA, (3) manually enter parameters `P45` and `P46`. In some Daikin systems, the "electricity consumed compressor heating" kWh counter stops to count (a known Daikin bug), but the "electricity consumed total" continues to count. As a work-around, parameter `P44` enables to use the total counter for COP calculations. This work-around only works for hybrid heating-only systems, but may not solve the problem on systems with a back-up heater or systems that cool. ## User-defined time zone support Command `P33` shows the options currently supported for message timestamps. Option 0 indicated NTP should not be used. Option 1 uses a user-defined string which can be defined as parameter `P34`. Options 2 and 3 are predefined for Europe and UK. More options will be added later. ``` P33 P33: use NTP for time stamp is 2 Options for TZ parameter P33 0: use ESP uptime 1: user-defined TZ () 2: CET-1CEST,M3.5.0/02,M10.5.0/03 3: GMT0BST,M3.5.0/1,M10.5.0 ``` ## E-series fake temperature sensor Some Daikin systems expect the P1P2MQTT bridge to report a room temperature. To avoid an error message, a fake room temperature sensor can be configured using the F command. Command `F0` will switch this function off. Command `F1` will switch this function on, with default reported room temperature of 20.0C. Command `F1 205` will change the fake temperature sensor to 20.5C. The permitted room temperature range is 0.0C-25.5C. ## E-series external electricity meter for realtime COP calculation The topic in parameter `P35`, default `P1P2/P/meter/U/9/Electricity_Power`, can be used to provide electricity meter readings (in Watt) for calculating `COP_Realtime`. If you happen to own a HomeWizard DIN rail MID single-phase meter, it can be polled by the provided firmware, which should run on a separate ESP8266; this can be a simple ESP01S powered by the USB programmer provided with the P1P2MQTT bridge. ## F-series fan speeds Fan speed argument 0/1/2 now also allowed. ## F-series model suggestion and configuration Based on observed P1/P2 packet types and lengths, the P1P2MQTT bridge may provide a suggestion which model to configure with the `M` command. The recommendation is visible in Home Assistant from which configuration is also possible. ## Security considerations and double-reset AP See [Security considerations](Security.md)