Skip to content

Latest commit

 

History

History
225 lines (173 loc) · 12 KB

v0.9.46-ReleaseNotes.md

File metadata and controls

225 lines (173 loc) · 12 KB

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. For Home Assistant configuration, you can follow the instructions for Home Assistant.

Topic structure change

The old topic structure was P1P2/P/\<4th IPv4 byte\>/\<src\>/\<cat\>/\<entity\>.

The new topic structure is highly configurable but is, by default, P1P2/P/P1P2MQTT/bridge0/\<src\>/\<cat\>/\<entity\>.

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 <empty string>
P05: static-IP IPv4 gateway   is <empty string>
P06: static-IP IPv4 netmask   is <empty string>
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 <empty string>
P33: use NTP for time stamp   is 2
P34: user-defined TZ          is <empty string>
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 &lt;bridge  is 35274
P46: Energy produced &lt;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. The bridge will then 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