emsesp / EMS-ESP32

ESP32 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
538 stars 96 forks source link

unrecognized EMS device ID 0x38 and ID 0x39 #1448

Closed demerstraat closed 3 months ago

demerstraat commented 7 months ago

PROBLEM DESCRIPTION

Unrecognized EMS device (device ID 0x38, no product ID). Please report on GitHub. Unrecognized EMS device (device ID 0x39, no product ID). Please report on GitHub.

REQUESTED INFORMATION

Make sure your have performed every step and checked the applicable boxes before submitting your issue. Thank you!

  System information output here:
{
  "System Info": {
    "version": "3.6.3",
    "platform": "ESP32-S3",
    "uptime": "001+23:19:33.482",
    "uptime (seconds)": 170373,
    "free mem": 189,
    "max alloc": 175,
    "free app": 6084,
    "reset reason": "Software reset CPU / Software reset CPU"
  },
  "Network Info": {
    "network": "WiFi",
    "hostname": "ems-esp",
    "RSSI": -82,
    "IPv4 address": "192.168.68.196/255.255.255.0",
    "IPv4 gateway": "192.168.68.1",
    "IPv4 nameserver": "192.168.68.1",
    "BSSID": "set",
    "static ip config": false,
    "enable IPv6": false,
    "low bandwidth": false,
    "disable sleep": false,
    "enable MDNS": true,
    "enable CORS": false,
    "AP provision mode": "disconnected",
    "AP security": "wpa2",
    "AP ssid": "ems-esp"
  },
  "NTP Info": {
    "NTP status": "connected",
    "enabled": true,
    "server": "time.google.com",
    "tz label": "Europe/Amsterdam"
  },
  "OTA Info": {
    "enabled": false,
    "port": 8266
  },
  "MQTT Info": {
    "MQTT status": "connected",
    "MQTT publishes": 88482,
    "MQTT queued": 0,
    "MQTT publish fails": 0,
    "MQTT connects": 2,
    "enabled": true,
    "client id": "ems-esp",
    "keep alive": 60,
    "clean session": false,
    "entity format": 1,
    "base": "ems-esp",
    "discovery prefix": "homeassistant",
    "discovery type": 0,
    "nested format": 1,
    "ha enabled": true,
    "mqtt qos": 0,
    "mqtt retain": false,
    "publish time heartbeat": 60,
    "publish time boiler": 10,
    "publish time thermostat": 10,
    "publish time solar": 10,
    "publish time mixer": 10,
    "publish time other": 10,
    "publish time sensor": 10,
    "publish single": false,
    "publish2command": false,
    "send response": false
  },
  "Syslog Info": {
    "enabled": false
  },
  "Sensor Info": {
    "temperature sensors": 0,
    "temperature sensor reads": 0,
    "temperature sensor fails": 0
  },
  "API Info": {
    "API calls": 41,
    "API fails": 1
  },
  "Bus Info": {
    "bus status": "connected",
    "bus protocol": "HT3",
    "bus telegrams received (rx)": 758696,
    "bus reads (tx)": 28,
    "bus writes (tx)": 0,
    "bus incomplete telegrams": 569,
    "bus reads failed": 0,
    "bus writes failed": 0,
    "bus rx line quality": 100,
    "bus tx line quality": 100
  },
  "Settings": {
    "board profile": "S32S3",
    "locale": "en",
    "tx mode": 1,
    "ems bus id": 11,
    "shower timer": false,
    "shower alert": false,
    "hide led": false,
    "notoken api": false,
    "readonly mode": false,
    "fahrenheit": false,
    "dallas parasite": false,
    "bool format": 1,
    "bool dashboard": 1,
    "enum format": 1,
    "analog enabled": false,
    "telnet enabled": true,
    "max web log buffer": 50,
    "web log buffer": 50
  },
  "Devices": [
    {
      "type": "boiler",
      "name": "GBx72/Trendline/Cerapur/Greenstar Si",
      "device id": "0x08",
      "product id": 123,
      "version": "07.00",
      "entities": 70,
      "handlers received": "0x10 0x11 0x15 0x1C 0x18 0x19 0x34 0x2A 0x04",
      "handlers fetched": "0x14 0x16 0x33 0x26",
      "handlers pending": "0xBF 0xC2 0x1A 0x35 0xD1 0xE3 0xE4 0xE5 0xE9",
      "handlers ignored": "0xF9 0x28 0x05 0x25 0x27 0xF8 0xEF 0x24"
    },
    {
      "type": "thermostat",
      "name": "RC300/RC310/Moduline 3000/1010H/CW400/Sense II/HPC410",
      "device id": "0x10",
      "product id": 158,
      "version": "18.06",
      "entities": 88,
      "handlers received": "0x06 0xA2 0x02BB 0x02BC 0x02BD 0x02BE 0x02BF 0x02C0 0x0267",
      "handlers fetched": "0x02A5 0x02B9 0x02AF 0x029B 0x02A6 0x02BA 0x02B0 0x029C 0x0291 0x02CE 0x0292 0x0293 0x0294 0x02F5 0x031B 0x023A 0x0240",
      "handlers pending": "0xA3 0x12 0x13 0x02A7 0x02B1 0x029D 0x0473 0x02A8 0x02B2 0x029E 0x0474 0x02A9 0x02B3 0x029F 0x0475 0x02AA 0x02B4 0x02A0 0x0476 0x02AB 0x02B5 0x02A1 0x0477 0x02AC 0x02B6 0x02A2 0x0478 0x02D0 0x0469 0x02D2 0x046A 0x031D 0x031E",
      "handlers ignored": "0xBF 0x02E1 0x02E2 0x02EB 0x02EC 0xC3 0xC4 0xF7 0x16 0x2D 0xF6 0x02C4"
    },
    {
      "type": "mixer",
      "name": "MM200",
      "device id": "0x20",
      "product id": 161,
      "version": "29.05",
      "entities": 4,
      "handlers received": "0x02D7",
      "handlers ignored": "0x1A 0x1E 0x0255 0xBF 0xEF 0x02CD 0xF7 0x03BD 0xF6"
    },
    {
      "type": "mixer",
      "name": "MM200",
      "device id": "0x21",
      "product id": 161,
      "version": "29.05",
      "entities": 4,
      "handlers received": "0x02D8",
      "handlers ignored": "0x1A 0x0255 0xBF 0xEF 0x02CE 0xF7 0x03BE 0xF6"
    },
    {
      "type": "controller",
      "name": "BC25",
      "device id": "0x09",
      "product id": 125,
      "version": "03.05",
      "entities": 0,
      "handlers ignored": "0x29"
    },
    {
      "type": "connect",
      "name": "Terminal",
      "device id": "0x0A",
      "product id": 0,
      "version": "00.00",
      "entities": 0
    },
    {
      "type": "connect",
      "name": "Modem",
      "device id": "0x4A",
      "product id": 0,
      "version": "00.00",
      "entities": 0
    }
  ]
}

TO REPRODUCE

watch unknown telegrams on telnet console

EXPECTED BEHAVIOUR

N/A

SCREENSHOTS

N/A

ADDITIONAL CONTEXT

Boiler: Bosch GC7000iW 14 Mixer unit: MCM102 v2 Controller: CW400 ems-esp device: BBQKees ESP32-S3

(Please, remember to close the issue when the problem has been addressed)

proddy commented 7 months ago

got any product ids?

https://emsesp.github.io/docs/Troubleshooting/#not-all-ems-devices-are-recognized

demerstraat commented 7 months ago

alas, no product ID's, i have no real clue as to what devices they might be. the two pumps on MM200 are "intelligent" but their control terminals are not connected

some more info from CW400:

proddy commented 7 months ago

could you go to the Telnet Console, su and then read 38 2 and capture the response telegram. Do the same for 39. Let's see if the product ID is hidden in there somewhere.

MichaelDvP commented 7 months ago

0x38/39 are normally remote room-thermostats, Do you have something like this installed (like Tados)? (Or have you played with remotetemp or remotehumidity? This would start emulation of devices 0x38/39, but with valid ids)

There are also strange modules with device-id 0x0A and 0x4A registered, also without ids. Could you please also check in telnet read 8 7 to get the devices on the boiler. If you restart ems-esp, do the devices (0x38, 0x39, 0x0A, 0x4A) show up again? If yes we need a full log to see what is send on the bus with device-id 0x38. Maybe the masterthermostat only checks if there is a remote and ems-esp also checks because it sees the destination 0x38.

demerstraat commented 7 months ago

no remote thermostats of any sort; also none configured on the CW400, only using heating curve with outside temp, no room compensation. i did try to use remotetemp on hc1 and hc2, but disabled this and this was also several reboots ago.

rebooted again before generating this output:

read 8 7 output: 000+00:01:52.487 N 2: [emsesp] boiler(0x08) -W-> Me(0x0B), UBADevices(0x07), data: 0B 01 00 03 00 00 00 00 00 00 00 00 00

read 38 2 output: Invalid deviceID

MichaelDvP commented 7 months ago

The UBADevices reports only devices 8, 9, 10, 20 ,21. You can ignore the unrecognized device message. If you can make a full log (or in telnet watch on) until the "unrecognized" message appears, we can check the cause for this message,

demerstraat commented 7 months ago

left the telnet open for +12 hours, i have not seen any unrecognized devices anymore 👍

will close this issue. thanks for you help!

image

demerstraat commented 5 months ago

would like to re-open the issue. after reading forum/discord, i want to try to set "remotetemp" for hc1 and hc2. installed the testbuild (see systeminfo) by posting a temperature to the mqtt topic "ems-esp/thermostat/hc1/remotetemp" & "ems-esp/thermostat/hc2/remotetemp"

i then see deviceID 0x38 and 0x39 appear as unrecognized.

PROBLEM DESCRIPTION Unrecognized EMS device (device ID 0x38, no product ID). Please report on GitHub. Unrecognized EMS device (device ID 0x39, no product ID). Please report on GitHub.

    "System Info": {
    "version": "3.6.5-test.4",
    "platform": "ESP32-S3",
    "uptime": "001+01:32:42.868",
    "uptime (seconds)": 91962,
    "free mem": 184,
    "max alloc": 171,
    "free app": 6072,
    "reset reason": "Software reset CPU / Software reset CPU"
  }
ems-esp:# read 8 7
001+01:38:56.009 N 4: [emsesp] boiler(0x08) -W-> Me(0x0B), UBADevices(0x07), data: 0B 01 00 03 00 00 00 00 00 00 00 00 00
001+01:38:56.467 I 5: [command] Calling command 'thermostat/remotetemp' (room temperature from remote) with value 21.6 and id 1 on device 0x10
001+01:38:56.519 I 6: [command] Calling command 'thermostat/remotetemp' (room temperature from remote) with value 21.6 and id 2 on device 0x10
MichaelDvP commented 5 months ago

Sure, if you command the ems-esp to emulate remote thermostats, it will emulate remote thermostats, surprise!

demerstraat commented 5 months ago

yes, no surprise there, but comparing with what i read from other examples on the forums, it seems that the emulation is not "complete" ?

1) the remote thermostats do not show up as seperate devices: image if i understand correctly, they should appear there ?

2) related to 1) i guess, if i select RC100H (the emulated remote thermostat) as control device for the hc*, it always quicly changes back to RC310 image

MichaelDvP commented 5 months ago

Yes, after a minute it should show up as RC100H. For hc2 there is a bug not sending the right telegram. Try https://github.com/MichaelDvP/EMS-ESP32/releases/tag/test, that should (hopefully) fix hc2. For hc3 we are testing a bit in https://github.com/emsesp/EMS-ESP32/discussions/1551, not clear what Bosch makes different for the higher hcs.

demerstraat commented 5 months ago

👍 fresh off the hook this new version, thanks!

alas, the RC100H devices do not show up as "devices" in the dashboard.

anything else that comes to mind to check / alter / ... ?

MichaelDvP commented 5 months ago

Can you attach a full log of > 3 min.

demerstraat commented 5 months ago

sure, big thanks for the help!

log.txt

MichaelDvP commented 5 months ago

Hmm, seems the remotetemp was not set properly, so there was only one humidity message and then it stops. Don't know why the remotetemp was not set. Try with only set remotetemp and check.

demerstraat commented 5 months ago

disabled the mqtt publish to /hcx/remotehum

log (2).txt

MichaelDvP commented 5 months ago

There seems to be something wrong on the bus, The thermostats trys to reach 0x70 and 0x38, 0x39, but the boiiler does not register it in 0x07 telegram. Try a different tx-mode, there are also some incomplete that seems to be from ems-esp.

demerstraat commented 5 months ago

okay, will try the other TX modes. what to look for to decide which mode is "correct"?

MichaelDvP commented 5 months ago

The best is the one with the lowest tx-read/write fails.

demerstraat commented 5 months ago

I've settled on Tx setting "EMS+", this gives 99% quality vs. around 95% in the other settings.

I see only these messages to deviceID 0x70, but I have no clue which device 0x70 is, can it be something "internal" in the boiler?

000+00:20:13.818 N 1726: [emsesp] thermostat(0x10) -R-> 70(0x70), Version(0x02), length: 0x0A

does this indicate somehow that the emulation on the bus is working, but 0x70 is causing 0x38 and 0x39 not to register correctly?

11:46:42.866 TRACE 2270: [emsesp] 38(0x38) -W-> thermostat(0x10), ?(0x042B), data: 00 DC
11:47:31.120 TRACE 2451: [emsesp] 38(0x38) -W-> Me(0x0B), Version(0x02), data: <empty>
11:47:58.605 TRACE 2572: [emsesp] 38(0x38) -W-> thermostat(0x10), ?(0x042B), data: 00 DC
11:49:13.757 TRACE 2843: [emsesp] 38(0x38) -W-> Me(0x0B), Version(0x02), data: <empty>
11:51:13.495 TRACE 3248: [emsesp] 38(0x38) -W-> thermostat(0x10), ?(0x042B), data: 00 DC

these do still appear however:

000+00:16:14.125 E 1370: [telegram] Last Tx Read operation failed after 3 retries. Ignoring request: 8B B8 02 00 1B
000+00:16:14.125 W 1371: [emsesp] Unrecognized EMS device (device ID 0x38, no product ID). Please report on GitHub.
(...)
000+00:16:19.894 E 1378: [telegram] Last Tx Read operation failed after 3 retries. Ignoring request: 8B B9 02 00 1B
000+00:16:19.894 W 1379: [emsesp] Unrecognized EMS device (device ID 0x39, no product ID). Please report on GitHub.

log (1).txt

proddy commented 3 months ago

Adding this to 3.7.0 so we can look at it again. It may be resolved.