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

fix vendor and state for Bosch Thermostat II 230V #8084

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

aSauerwein
Copy link
Contributor

Hi!

I've added the state/on and fixed the changed the Vendor to Bosch.

with the state/on the devices correctly shows heating in Homeassistant when it's actually heating.

also I realized that my thermostat were running in draft mode, because the vendor was wrong in the ddf file.

Copy link
Contributor

Hey @aSauerwein, thanks for your pull request!

Tip

Modified bundles can be downloaded here.
Relative expire date

DDB changes

Modified

  • bosch/room_thermostat2_230V.json : Room thermostat II 230V (BTH-RM230Z) ✔️

Validation

Tip

Everything is fine !

🕗 Updated for commit 087b010

@mattreim
Copy link
Contributor

Hello @aSauerwein, the manufacturer name is really written in lower case but according to your description the device does not have an on/off cluster (0006). Maybe @SwoopX knows another way.

@aSauerwein
Copy link
Contributor Author

I don't know how, but somehow it works.

I think this 0x0029 in cluster 0201 is responsible for the heating state.
heating "on" :
image
phoscon rest api output - http://192.168.200.6/api/{{token}}/devices/00:1e:5e:09:02:9d:ba:cd

...
            "state": {
                "errorcode": {
                    "lastupdated": "2024-12-08T22:17:12Z",
                    "value": "0"
                },
                "on": {
                    "lastupdated": "2025-01-11T08:47:02Z",
                    "value": true
                },
...

not heating "off":
image
phoscon rest api output - http://192.168.200.6/api/{{token}}/devices/00:1e:5e:09:02:9d:ba:cd

...
            "state": {
                "errorcode": {
                    "lastupdated": "2024-12-08T22:17:12Z",
                    "value": "0"
                },
                "on": {
                    "lastupdated": "2025-01-11T08:48:10Z",
                    "value": false
                },
...

I know you are right. I cannot see any 0x0006 cluster. cannot explain why it still works 🤷
image

@SwoopX
Copy link
Collaborator

SwoopX commented Jan 25, 2025

Hi together,

that this works, is more or less a coincidence due to the fact that we've bent a lot back in the days to make things appear to work. So this is legacy heritage which will cease to function once the older code gets more and more removed over time.

To have it sustainable, the parser function for the attribute needs to be properly defined to fit the attribute at hand. So, it would be probably like this (also considering we might want to read the value to not solely rely on reporting):

{
  "name": "state/on",
  "refresh.interval": 3660,
  "parse": {
    "at": "0x0029",
    "cl": "0x0201",
    "ep": 1,
    "eval": "Item.val = Attr.val;",
    "fn": "zcl:attr"
  },
  "read": {
    "at": "0x0029",
    "cl": "0x0201",
    "ep": 1,
    "fn": "zcl:attr"
  }
},

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants