emsesp / EMS-ESP

ESP8266 firmware to read and control EMS and Heatronic compatible equipment such as boilers, thermostats, solar modules, and heat pumps
https://emsesp.github.io/docs
GNU Lesser General Public License v3.0
303 stars 97 forks source link

1.8.1b21 data missing #161

Closed zegerk closed 5 years ago

zegerk commented 5 years ago

Data based on "UBAParametersMessage" and "UBAMonitorSlow" is missing. It seems the requests are no longer send, when doing a refresh they do not shown in the verbose log.

Data was available in 1.8.0

Heating temperature setting on the boiler: ? C Boiler circuit pump modulation max power: ? % Boiler circuit pump modulation min power: ? % Boiler temperature: ? C Pump modulation: ? % Burner # starts: ? times

Relates to #160

susisstrolch commented 5 years ago
EMS-ESP system stats:
  System logging set to None
  LED is on, Listen mode is off
  Boiler is enabled, Thermostat is enabled, Solar Module is disabled, Shower Timer is disabled, Shower Alert is disabled

EMS Bus stats:
  Bus is connected
  Rx: # successful read requests=42, # CRC errors=35
  Tx: Last poll=1.408 seconds ago, # successful write requests=0

Boiler stats:
  Boiler: DeviceID: 0x08 (ProductID:? Version:?)
  Central heating: off
  Warm Water activated: ?
  Warm Water circulation pump available: ?
  Warm Water selected temperature: ? C
  Warm Water desired temperature: ? C
  Warm Water current temperature: ? C
  Warm Water current tap water flow: ? l/min
  Warm Water # starts: ? times
  Warm Water 3-way valve: off
  Selected flow temperature: 11 C
  Current flow temperature: 21.6 C
  Return temperature: ? C
  Gas: off
  Boiler pump: off
  Fan: off
  Ignition: off
  Circulation pump: off
  Burner selected max power: 100 %
  Burner current power: 0 %
  Flame current: 0.0 uA
  System pressure: ? bar
  System service code: 0H (0)
  Heating temperature setting on the boiler: 90 C
  Boiler circuit pump modulation max power: 100 %
  Boiler circuit pump modulation min power: 100 %
  Outside temperature: 25.0 C
  Boiler temperature: 21.5 C
  Pump modulation: 0 %
  Burner # starts: 138298 times
  Total burner operating time: 361 days 5 hours 39 minutes
  Total heat operating time: 360 days 3 hours 35 minutes
  Total UBA working time: 2773 days 6 hours 46 minutes

Thermostat stats:
  Thermostat: RC35 (ProductID:86 Version:01.11)
  Setpoint room temperature: 0.0 C
  Current room temperature: ? C
  Thermostat time is 21:15:45 22/7/2019
  Mode is set to night

** We missed the bus - Rx non-idle!

Can‘t confirm

proddy commented 5 years ago

@zegerk perhaps the serial on issue again which is preventing the EMS bus to active. What does info and set show you?

zegerk commented 5 years ago

Info

EMS-ESP system stats:
  System logging set to None
  LED is on, Listen mode is off
  Boiler is enabled, Thermostat is enabled, Solar Module is disabled, Shower Timer is disabled, Shower Alert is disabled

EMS Bus stats:
  Bus is connected
  Rx: # successful read requests=120, # CRC errors=137
  Tx: Last poll=4.456 seconds ago, # successful write requests=0

Boiler stats:
  Boiler: Buderus GB172/Nefit Trendline/Junkers Cerapur (ProductID:123 Version:06.08)
  Hot tap water: off
  Central heating: off
  Warm Water activated: on
  Warm Water circulation pump available: off
  Warm Water comfort setting: Intelligent
  Warm Water selected temperature: 50 C
  Warm Water desired temperature: 70 C
  Warm Water current temperature: 31.1 C
  Warm Water current tap water flow: 0.0 l/min
  Warm Water # starts: 42398 times
  Warm Water active time: 11 days 2 hours 44 minutes
  Warm Water 3-way valve: on
  Selected flow temperature: 5 C
  Current flow temperature: 33.0 C
  Return temperature: 32.0 C
  Gas: off
  Boiler pump: off
  Fan: off
  Ignition: off
  Circulation pump: off
  Burner selected max power: 0 %
  Burner current power: 0 %
  Flame current: 0.0 uA
  System pressure: 1.3 bar
  System service code: 0H (203)
  Heating temperature setting on the boiler: ? C
  Boiler circuit pump modulation max power: ? %
  Boiler circuit pump modulation min power: ? %
  Boiler temperature: ? C
  Pump modulation: ? %
  Burner # starts: ? times
  Total UBA working time: 862 days 4 hours 43 minutes

Thermostat stats:
  Thermostat: DeviceID: 0x02 (ProductID:? Version:?)
  Setpoint room temperature: ? C
  Current room temperature: ? C
  Thermostat time is 00:00:00 0/0/2000
  Mode is set to auto
  wifi_ssid=********************* 
  wifi_password=***************
  mqtt_host=<not set>
  mqtt_username=<not set>
  mqtt_password=<not set>
  serial=off
  heartbeat=off
  led=on
  led_gpio=2
  dallas_gpio=14
  dallas_parasite=off
  thermostat_type=02
  heating_circuit=1
  boiler_type=08
  listen_mode=off
  shower_timer=off
  shower_alert=off
  publish_time=120
  tx_mode=2
proddy commented 5 years ago

ok, looks like data is coming in now from the boiler. Just not the Thermostat because it's not detected. Try set tx_mode 0 reboot and see if the Thermostat is detected.

zeger-pon commented 5 years ago

There is no thermostat attached - only using the EMS-OT convertor, or could that be the issue?

mf-1 commented 5 years ago

Same here. Using 1.8.1b21 some other data are also missed in MQTT.

"boiler_data"

"sm_data"

info

EMS-ESP system stats:
  System logging set to None
  LED is on, Listen mode is off
  Boiler is enabled, Thermostat is enabled, Solar Module is enabled, Shower Timer is disabled, Shower Alert is disabled

EMS Bus stats:
  Bus is connected
  Rx: # successful read requests=11, # CRC errors=3
  Tx: Last poll=2.568 seconds ago, # successful write requests=0

Boiler stats:
  Boiler: Buderus GB172/Nefit Trendline/Junkers Cerapur (ProductID:123 Version:04.08)
  Hot tap water: off
  Central heating: off
  Warm Water activated: on
  Warm Water circulation pump available: off
  Warm Water comfort setting: Hot
  Warm Water selected temperature: 59 C
  Warm Water desired temperature: 70 C
  Warm Water current temperature: 61.2 C
  Warm Water current tap water flow: 0.0 l/min
  Warm Water # starts: 2898 times
  Warm Water active time: 31 days 12 hours 1 minutes
  Warm Water 3-way valve: off
  Selected flow temperature: 5 C
  Current flow temperature: 32.1 C
  Return temperature: ? C
  Gas: off
  Boiler pump: off
  Fan: off
  Ignition: off
  Circulation pump: off
  Burner selected max power: 0 %
  Burner current power: 0 %
  Flame current: 0.0 uA
  System pressure: ? bar
  System service code: 0H (203)
  Heating temperature setting on the boiler: ? C
  Boiler circuit pump modulation max power: ? %
  Boiler circuit pump modulation min power: ? %
  Boiler temperature: ? C
  Pump modulation: ? %
  Burner # starts: ? times
  Total UBA working time: 2047 days 18 hours 35 minutes

Solar Module stats:
  Solar Module: SM100 Solar Module (ProductID:163 Version:21.03)
  Collector temperature: 30.5 C
  Bottom temperature: 56.3 C
  Pump modulation: 0 %
  Pump active: ?
  Energy Last Hour: ? Wh
  Energy Today: ? Wh
  Energy Total: ? kWH

Thermostat stats:
  Thermostat: RC300/RC310/Nefit Moduline 3000 (ProductID:158 Version:11.04)
  Setpoint room temperature: ? C
  Current room temperature: ? C
  Thermostat time is 22:52:45 24/7/2019
  Mode is set to ?

set

[*****]

Stored settings:

  wifi_ssid=***** 
  wifi_password=*****
  mqtt_host=*****
  mqtt_username=*****
  mqtt_password=*****
  serial=off
  heartbeat=on
  led=on
  led_gpio=2
  dallas_gpio=14
  dallas_parasite=off
  thermostat_type=10
  heating_circuit=1
  boiler_type=08
  listen_mode=off
  shower_timer=off
  shower_alert=off
  publish_time=120
  tx_mode=0

** We missed the bus - Rx non-idle!

And of course ... the message We missed the bus - Rx non-idle! is still there...

proddy commented 5 years ago

Should be fixed in 1.8.1b23 now.

blacksocket commented 5 years ago

Hi All,

I started using v. firmware_release_1_8_3.bin directly on ESP8266_12 and getting the below messages. However when flashed the same firmware on Wemos it works fine. Do you know what could be the issue ?

log v System Logging set to Verbose Error! Unable to read the EMS bus. info EMS-ESP system stats: System logging set to Verbose LED is on, Listen mode is off Boiler is disabled, Thermostat is disabled, Solar Module is disabled, Shower Timer is disabled, Shower Alert is disabled

EMS Bus stats: No connection can be made to the EMS bus

Boiler stats: Boiler: Warm Water activated: ? Warm Water circulation pump available: ? Warm Water selected temperature: ? C Warm Water desired temperature: ? C Warm Water current temperature: ? C Warm Water current tap water flow: ? l/min Warm Water # starts: ? times Warm Water 3-way valve: ? Selected flow temperature: ? C Current flow temperature: ? C Return temperature: ? C Gas: ? Boiler pump: ? Fan: ? Ignition: ? Circulation pump: ? Burner selected max power: ? % Burner current power: ? % Flame current: ? uA System pressure: ? bar System service code: ?? (32768) Heating temperature setting on the boiler: ? C Boiler circuit pump modulation max power: ? % Boiler circuit pump modulation min power: ? % Boiler temperature: ? C Pump modulation: ? % Burner # starts: ? times

System is either not connect to the EMS bus or listen_mode is enabled Error! Unable to read the EMS bus.

Error! Unable to read the EMS bus. System is either not connect to the EMS bus or listen_mode is enabled Error! Unable to read the EMS bus. Error! Unable to read the EMS bus. System is either not connect to the EMS bus or listen_mode is enabled Error! Unable to read the EMS bus. Error! Unable to read the EMS bus. System is either not connect to the EMS bus or listen_mode is enabled Error! Unable to read the EMS bus. Error! Unable to read the EMS bus. System is either not connect to the EMS bus or listen_mode is enabled Error! Unable to read the EMS bus.

mf-1 commented 5 years ago

Error! Unable to read the EMS bus.

You have checked that serial communication is off?

blacksocket commented 5 years ago

Hi, do you mean check if the physical serial communication is off or do you mean somewhere in the software? Take a look once again at the log since I have updated it using verbose mode. Seems the listen_mode is enabled causing some issues because the EMS bus is connected?

mf-1 commented 5 years ago

Make a telnet connection, then enter

set serial off

and reboot

blacksocket commented 5 years ago

Indeed i forgot about that however still can't read EMS bus. When switch EMS bus to wemos it works fine. Both are in the same mode now. No idea maybe some physical connection issues? I tried replace TX<<->>RX without success. By the way i have two EMS circuits one developer with wemos and second pcb with ESP8266_12. When connect the second circuit to first wemos it works fine. Seems there is something wrong on the PCB connection to ESP8266_12.

System Logging set to Verbose System is either not connect to the EMS bus or listen_mode is enabled Error! Unable to read the EMS bus. Error! Unable to read the EMS bus.

blacksocket commented 5 years ago

Finally I have separated the second PCB board with ESP8266_12. Seems Bus is connected: Rx: # successful read requests=0, # CRC errors=1 Tx: Last poll=3.883 seconds ago, # successful write requests=0 However when switch to "log v" I am still getting System is either not connect to the EMS bus or listen_mode is enabled Error! Unable to read the EMS bus.

Strange that Boiler status is showing some data like temperature etc:

log v System Logging set to Verbose info EMS-ESP system stats: System logging set to Verbose LED is on, Listen mode is off Boiler is disabled, Thermostat is disabled, Solar Module is disabled, Shower Timer is disabled, Shower Alert is disabled

EMS Bus stats: Bus is connected Rx: # successful read requests=0, # CRC errors=1 Tx: Last poll=3.883 seconds ago, # successful write requests=0

Boiler stats: Boiler: Warm Water activated: ? Warm Water circulation pump available: ? Warm Water selected temperature: ? C Warm Water desired temperature: ? C Warm Water current temperature: 43.9 C Warm Water current tap water flow: 0.0 l/min Warm Water # starts: 1194 times Warm Water active time: 8 days 16 hours 11 minutes Warm Water 3-way valve: off Selected flow temperature: 5 C Current flow temperature: 48.1 C Return temperature: ? C Gas: off Boiler pump: off Fan: off Ignition: off Circulation pump: off Burner selected max power: 0 % Burner current power: 0 % Flame current: 0.0 uA System pressure: ? bar System service code: 0H (203) Heating temperature setting on the boiler: ? C Boiler circuit pump modulation max power: ? % Boiler circuit pump modulation min power: ? % Boiler temperature: ? C Pump modulation: ? % Burner # starts: ? times

proddy commented 5 years ago

I don't think it should make a difference, but try compiling with a different board in PlatformIO instead of the default Wemos.

blacksocket commented 5 years ago

Hi Proddy, I didn't build the binaries from source. I just upload the available firmware_release_1_8_3.bin into the wemos (where it works fine) and then into my ESP8266_12 on the pcb (where I am having issues):

My new built PCB: image

proddy commented 5 years ago

that's nice! Are you not able to make a new .bin file? If not I'll make one for you.

blacksocket commented 5 years ago

Not sure for what this firmware_release_1_8_3.bin is targeted but I through that the only differences between wemos and simple ESP8266 ESP-12F is that on wemos there are some additional features like USB-UART converter and that's it. If you will be so kind yes please! Hope this helps.. ;-)

proddy commented 5 years ago

The code is compiled using the board spec here. I did try the 12e once and noticed some of the pins were different.

proddy commented 5 years ago

oh and you should be using the latest 1.9.1 from the dev branch for testing.

blacksocket commented 5 years ago

On my board i used ESP8266 ESP-12F:

image

1.RST - Reset 2.ADC - Konwerter A/C 3.EN - Chip enable. HIGH - active 4.GPIO16; WAKE - DEEP SLEEP 5.GPIO14; HSPI_CLK 6.GPIO12; HSPI_MISO 7.GPIO13; HSPI_MOSI; UART0_CTS 8.VCC - 3.3V 9.CS0 - Chip select 10.MISO 11.GPIO9 12.GPIO10 13.MOSI 14.SCLK - Clock 15.GND 16.GPIO15; MTDO; HSPICS; UART0_RTS 17.GPIO2; UART1_TXD 18.GPIO0 19.GPIO4 20.GPIO5 21.RXD; UART0_RXD; GPIO3 22.TXD; UART0_TXD; GPIO1

blacksocket commented 5 years ago

I have found that pins determine what mode the chip starts up in.: https://www.forward.com.au/pfod/ESP8266/GPIOpins/index.html

image

and indeed I have to always pin15 connect to ground on my board: image

blacksocket commented 5 years ago

No idea, I tried many combinations and the best one is when only GPIO15 is connected to ground. Then "Bus is connected" at the begining of info page and Boiler stats showing data but then I am still getting the below messages: "Error! Unable to read the EMS bus".

EMS-ESP system stats: System logging set to None LED is on, Listen mode is off Boiler is disabled, Thermostat is disabled, Solar Module is disabled, Shower Timer is disabled, Shower Alert is disabled

EMS Bus stats: Bus is connected Rx: # successful read requests=0, # CRC errors=0 Tx: Last poll=1.969 seconds ago, # successful write requests=0

Boiler stats: Boiler: Hot tap water: off Central heating: off Warm Water activated: ? Warm Water circulation pump available: ? Warm Water selected temperature: ? C Warm Water desired temperature: ? C Warm Water current temperature: 39.4 C Warm Water current tap water flow: 0.0 l/min Warm Water # starts: 1194 times Warm Water active time: 8 days 16 hours 11 minutes Warm Water 3-way valve: off Selected flow temperature: 5 C Current flow temperature: 31.7 C Return temperature: ? C Gas: off Boiler pump: off Fan: off Ignition: off Circulation pump: off Burner selected max power: 0 % Burner current power: 0 % Flame current: 0.0 uA System pressure: ? bar System service code: 0H (203) Heating temperature setting on the boiler: ? C Boiler circuit pump modulation max power: ? % Boiler circuit pump modulation min power: ? % Boiler temperature: ? C Pump modulation: ? % Burner # starts: ? times

Unable to read the EMS bus.

System Logging set to Verbose System is either not connect to the EMS bus or listen_mode is enabled Error! Unable to read the EMS bus. Error! Unable to read the EMS bus.

proddy commented 5 years ago

The rx and tx pins are different on this board. I also swap them in the code to d7 and d8. To get it working on the 12f I think you’ll need to use gpio21 and 22 and comment out the swap in the code in file emsuart.cpp

proddy commented 5 years ago

@blacksocket could you create a new issue for supporting multiple ESP8266 board types? This issue will get lost under the current title which is about missing data with a very old version of EMS-ESP.

blacksocket commented 5 years ago

Hi Proddy, many thanks for you help! Sure I will create the new issue for this topic.