Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Eurotronic SPZB0001 one-way communication #2856

Closed
AndrzejOlender opened this issue Jan 30, 2020 · 23 comments
Closed

Eurotronic SPZB0001 one-way communication #2856

AndrzejOlender opened this issue Jan 30, 2020 · 23 comments
Labels
stale Stale issues

Comments

@AndrzejOlender
Copy link

Bug Report

What happened

Recently I migrated from CC253X to CC1352P-2. Everything worked out after re-pairing (30 devices) except all my Eurotronic. I can send out heat statuses, off, auto. I can send out temperatures, the Eurotronic is receiving it almost instantaneously.

But the reception from Eurotronic is not working. Local temperature is still the same (value from before migration). If I manually force the Eurotronic temperature (+ or -) it is not transmitted either, the reading after mqtt shows the last value sent.

What did you expect to happen

I reset the Eurotronic, pairing again, deleting from the database, upgeade to 1.9-dev etc. nothing helped.

Debug Info

zigbee2mqtt version: 1.9-dev
CC26X2R1 firmware version: 20191106
database.db https://pastebin.com/8ZyD2T8d

@AndrzejOlender
Copy link
Author

AndrzejOlender commented Feb 5, 2020

If I send the json to mqtt as below, it shows the actual temperature (example 21,5)

mosquitto_pub -h localhost -p 1883 -t zigbee2mqtt/ThermoChildRoom/get -m '{"local_temperature": ""}'

But it works one time. If the temperature even changes in the apartment, the isoon shows the last value.
I added it to the cron every minute, but it's ugly.

@TilmanK
Copy link
Contributor

TilmanK commented Feb 10, 2020

I have exactly the same problem. I can get the values quite easily when sending a get message on MQTT, configuration works, I can set everything I want.

The thermostat just doesn't report anything back. Also, not after receiving and confirming a set request on MQTT. I sniffed the traffic and indeed the thermostat isn't sending anything.

I cannot see anything that would explain this behavior, but I can pinpoint this down to configuration. I have another thermostat working fine. I just configured it and it stopped reporting anything right after configuration. I have one thermostat left, that hasn't been configured yet and it is still reporting values.

@sjorge: Can you please check the two commits you made (8824dcf9890dae9f6c0e17cdc0f57ccc4fe573a0 and cdc71e7503a4ae2f003dc720125bf3d2bcd09d74) if they somehow broke reporting? As written I wasn't able to find anything.

@Koenkk: Have there been any changes in configuration, especially since 1.9?

@sjorge
Copy link
Sponsor Contributor

sjorge commented Feb 10, 2020

Only this 8824dcf9890dae9f6c0e17cdc0f57ccc4fe573a0 does anything to do with reporting, and it actually increases the interval to what eurotronic recommends in there docs.

@Koenkk
Copy link
Owner

Koenkk commented Feb 12, 2020

Which of the configureReport configures the local temperature (https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/devices.js#L5408). Perhaps the reportableChange should be reduced?

@sjorge
Copy link
Sponsor Contributor

sjorge commented Feb 12, 2020

https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/devices.js#L5415 this one does, it should update every 10 minutes (600s) or at 0.25 degrees C change.

@TilmanK
Copy link
Contributor

TilmanK commented Feb 12, 2020

I didn't see any problem in the reportableChange values configured. This looks valid so far.

@sjorge On what hardware/software of the SPZB0001 did you test the changes? Could you check if there's any difference to mine?

{"id":7,"type":"EndDevice","ieeeAddr":"0x00158d000192dc4d","nwkAddr":31553,"manufId":4151,"manufName":"Eurotronic","powerSource":"Battery","modelId":"SPZB0001","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":769,"inClusterList":[0,1,3,513,25,10],"outClusterList":[0,1,3,4,513,25,10],"clusters":{"genBasic":{"attributes":{"modelId":"SPZB0001","manufacturerName":"Eurotronic","powerSource":3,"zclVersion":2,"appVersion":18,"stackVersion":5,"hwVersion":34,"dateCode":"20190408","swBuildId":"18181120"}},"hvacThermostat":{"attributes":{"16386":0,"16387":2300,"16392":1,"localTemp":1954,"pIHeatingDemand":251,"occupiedHeatingSetpoint":2000,"unoccupiedHeatingSetpoint":1600}},"genPowerCfg":{"attributes":{"batteryPercentageRemaining":150}}},"binds":[{"cluster":1,"type":"endpoint","deviceIeeeAddress":"0x00124b001caabcf6","endpointID":1},{"cluster":513,"type":"endpoint","deviceIeeeAddress":"0x00124b001caabcf6","endpointID":1}]}},"appVersion":18,"stackVersion":5,"hwVersion":34,"dateCode":"20190408","swBuildId":"18181120","zclVersion":2,"interviewCompleted":true,"meta":{"configured":2},"lastSeen":1581360448914}

@sjorge
Copy link
Sponsor Contributor

sjorge commented Feb 12, 2020

{
  "id": 13,
  "type": "EndDevice",
  "ieeeAddr": "0x00158d0001ffaffc",
  "nwkAddr": 49490,
  "manufId": 4151,
  "manufName": "Eurotronic",
  "powerSource": "Battery",
  "modelId": "SPZB0001",
  "epList": [
    1
  ],
  "endpoints": {
    "1": {
      "profId": 260,
      "epId": 1,
      "devId": 769,
      "inClusterList": [
        0,
        1,
        3,
        513,
        25,
        10
      ],
      "outClusterList": [
        0,
        1,
        3,
        4,
        513,
        25,
        10
      ],
      "clusters": {
        "genBasic": {
          "attributes": {
            "modelId": "SPZB0001",
            "manufacturerName": "Eurotronic",
            "powerSource": 3,
            "zclVersion": 2,
            "appVersion": 22,
            "stackVersion": 5,
            "hwVersion": 35,
            "dateCode": "20191014",
            "swBuildId": "22190930"
          }
        },
        "hvacThermostat": {
          "attributes": {
            "16386": 0,
            "16387": 1900,
            "16392": 1,
            "localTemp": 1750,
            "pIHeatingDemand": 95,
            "occupiedHeatingSetpoint": 1900,
            "unoccupiedHeatingSetpoint": 1600,
            "systemMode": 4,
            "localTemperatureCalibration": 0
          }
        },
        "genPowerCfg": {
          "attributes": {
            "batteryPercentageRemaining": 150,
            "batteryAlarmState": 0
          }
        }
      },
      "binds": [
        {
          "cluster": 1,
          "type": "endpoint",
          "deviceIeeeAddress": "0x00124b001938a7e5",
          "endpointID": 1
        },
        {
          "cluster": 513,
          "type": "endpoint",
          "deviceIeeeAddress": "0x00124b001938a7e5",
          "endpointID": 1
        }
      ]
    }
  },
  "appVersion": 22,
  "stackVersion": 5,
  "hwVersion": 35,
  "dateCode": "20191014",
  "swBuildId": "22190930",
  "zclVersion": 2,
  "interviewCompleted": true,
  "meta": {
    "configured": 3
  },
  "lastSeen": 1581503013236
}

I did a diff with yours mine seems newer, things of note:

  • appVersion is 22 vs 18
  • hwVersion 35 vs 34 (A new hardware revision?)
  • swBuildId 22190930 vs 18181120 (wow that is a huge jump)
  • configured 3 vs 2 (try running zigbee2mqtt/bridge/configure with the friendly name as payload)

Aside from my hardware being newer, it looks like you are a config revision behind so you might not have all the reporting changes applied yet.

@sti0 had some older revision devices too and they worked fine for him IIRC

@TilmanK
Copy link
Contributor

TilmanK commented Feb 12, 2020

The configured value is explainable easy. I altered the value locally in the code to see what it does (without success). Someone might want to explain it to me, since my JS is very limited :/.

But the other differences might explain why mine isn't working anymore. Does anyone know how to upgrade the firmware? Might need to find out...

@sjorge
Copy link
Sponsor Contributor

sjorge commented Feb 12, 2020

The value should come from: https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/devices.js#L5410

Everytime the configuration block is change it should be raised by 1, so zigbee2mqtt knows it needs to reconfigure the device or not.

@sti0
Copy link
Contributor

sti0 commented Feb 12, 2020

@sjorge I returned the old ones because the don't work properly and got two new ones with the newer revision. They work quite well (sometimes Mac errors #715). But I the old ones reported back. But sometimes the valve didn't close even if the thermostat was turned off.

@sjorge
Copy link
Sponsor Contributor

sjorge commented Feb 12, 2020

I'm a bit surprise on how many software revision and even a hardware revision happened in the span of less than half a year.

Maybe the older ones did have a big issue. Sadly I haven't seen any firmwares for these flooting around either.

@AndrzejOlender
Copy link
Author

AndrzejOlender commented Feb 13, 2020

My version numbers are ok from what I see.

{
    "id": 42,
    "type": "EndDevice",
    "ieeeAddr": "0x00158d0001ffafc5",
    "nwkAddr": 10071,
    "manufId": 4151,
    "manufName": "Eurotronic",
    "powerSource": "Battery",
    "modelId": "SPZB0001",
    "epList": [
        1
    ],
    "endpoints": {
        "1": {
            "profId": 260,
            "epId": 1,
            "devId": 769,
            "inClusterList": [
                0,
                1,
                3,
                513,
                25,
                10
            ],
            "outClusterList": [
                0,
                1,
                3,
                4,
                513,
                25,
                10
            ],
            "clusters": {
                "hvacThermostat": {
                    "attributes": {
                        "16387": 2200,
                        "16392": 17,
                        "unoccupiedHeatingSetpoint": 1600,
                        "occupiedHeatingSetpoint": 2200,
                        "pIHeatingDemand": 0,
                        "localTemp": 1950,
                        "localTemperatureCalibration": 0
                    }
                },
                "genBasic": {
                    "attributes": {
                        "modelId": "SPZB0001",
                        "manufacturerName": "Eurotronic",
                        "powerSource": 3,
                        "zclVersion": 2,
                        "appVersion": 22,
                        "stackVersion": 5,
                        "hwVersion": 35,
                        "dateCode": "20191014",
                        "swBuildId": "22190930"
                    }
                }
            },
            "binds": [
                {
                    "cluster": 1,
                    "type": "endpoint",
                    "deviceIeeeAddress": "0x00124b0018e25dbc",
                    "endpointID": 1
                },
                {
                    "cluster": 513,
                    "type": "endpoint",
                    "deviceIeeeAddress": "0x00124b0018e25dbc",
                    "endpointID": 1
                }
            ]
        }
    },
    "appVersion": 22,
    "stackVersion": 5,
    "hwVersion": 35,
    "dateCode": "20191014",
    "swBuildId": "22190930",
    "zclVersion": 2,
    "interviewCompleted": true,
    "meta": {
        "configured": 3
    },
    "lastSeen": 1581446584808
}

@sjorge
Copy link
Sponsor Contributor

sjorge commented Feb 13, 2020

Yeah your device looks the same as mine, I wonder if it is because the CC1352P-2 is zigbee 3.1 and the other one was 1.2 🤔

@AndrzejOlender
Copy link
Author

@TilmanK do you also use CC1352P-2?

@TilmanK
Copy link
Contributor

TilmanK commented Feb 14, 2020

I have a CC26X2R1 with Zigbee 3 too. But is this a likely cause?

@sti0
Copy link
Contributor

sti0 commented Feb 17, 2020

Today 1 of my devices stopped working with HA. I receive messages but can't set temperature / hvac mode in HA. If I set it directly via mqtt it works fine.

Maybe something broken in HA?

HA 0.105.4
z2m 1.10
CC26X2R1

Edit: Luckily a HA restart and a z2m restart brought it back working again.

@TilmanK
Copy link
Contributor

TilmanK commented Feb 17, 2020

@sti0 What appVersion, hwVersion and swBuildId does your device report? Just for the record...

@sti0
Copy link
Contributor

sti0 commented Feb 17, 2020

All 3 devices:
"hardwareVersion": 35,
"softwareBuildID": "22190930",
"dateCode": "20191014"

@AndrzejOlender
Copy link
Author

AndrzejOlender commented Feb 18, 2020

@sti0 My thermostat behaves the opposite. I can send statuses but I can't receive them from the thermostat.

I have a crazy idea to run a separate zigbee2mqtt container with CC2531and to pair only Eurotronic x2. I'll leave the rest on the CC1352P-2. It worked ok there.

@TilmanK
Copy link
Contributor

TilmanK commented Mar 29, 2020

Just some update on this: I've upgraded to the latest dev branch and accidentally deleted my database, so I had to repair everything. After repairing the thermostat it works. Not that I've not tried that before, but whatever.

Will try with the other ones today...

@AndrzejOlender
Copy link
Author

Great news. It still doesn't work for me. I didn't just delete my base. Let me know how the other thermostats work.

@AndrzejOlender
Copy link
Author

AndrzejOlender commented Mar 29, 2020

I deleted the database, downloaded the latest dev... works perfectly tho ways communication! (tested on two devices).

@stale
Copy link

stale bot commented May 30, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale Stale issues label May 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stale Stale issues
Projects
None yet
Development

No branches or pull requests

5 participants