Giter Site home page Giter Site logo

Comments (9)

cdjackson avatar cdjackson commented on August 9, 2024

from org.openhab.binding.zigbee.

pmknowles avatar pmknowles commented on August 9, 2024

I have a TRV which the binding sees but it says there are no end point clusters so it's unusable. It obviously has because it works on ZigBee2MQTT. MQTT Things have channels added to them by specifying what it is (switch for instance) and the relevant MQTT topic that goes with it. ZigBee has standard 'topics' which the devices use so it should be a matter of linking channels that openHAB understands to endpoints that ZigBee understands. This is the code for the MQTT input from ZigBee2MQTT for a TRV
`channels:

  • id: Bedroom2Set
    channelTypeUID: mqtt:number
    label: Bedroom 2 Set
    description: null
    configuration:
    commandTopic: zigbee2mqtt/Bedroom2R/set/current_heating_setpoint
    postCommand: true
    unit: '"C"'
    stateTopic: zigbee2mqtt/Bedroom2R
    transformationPattern: JSONPATH:$.current_heating_setpoint
  • id: Bedroom2Open
    channelTypeUID: mqtt:number
    label: Berdoom 2 Open
    description: null
    configuration:
    stateTopic: zigbee2mqtt/Bedroom2R
    transformationPattern: JSONPATH:$.position
    postCommand: `false``
    If I could do something similar I could create my own template for the TRV and, as new devices come on stream, users could create templates that we could add into our installations rather than waiting for an update (which might never come for some devices).
    It may be possible to do this already but there doesn't seem to be anything in the docs.

from org.openhab.binding.zigbee.

cdjackson avatar cdjackson commented on August 9, 2024

I have a TRV which the binding sees but it says there are no end point clusters so it's unusable.

This means there is no functionality the binding knows about, so there's no functionality it can provide to the user.

Without knowing the device, it's impossible for me to comment, but probably it's not as simple as just defining an XML file (or any other sort of file).

I certainly won't be adding a new yaml format if that's what you're suggesting here? It might be possible to do something with the current definition, but without more information it's impossible for me to comment further. You say it's "a TRV" - but WHAT TRV? And what clusters etc does it support?

from org.openhab.binding.zigbee.

pmknowles avatar pmknowles commented on August 9, 2024

https://www.zigbee2mqtt.io/devices/TS0601_thermostat.html#tuya-ts0601_thermostat
It comes up with 15 properties but no end points
zigbee_logicaltype END_DEVICE zigbee_powerlevel FULL zigbee_manufacturercode 0x1002 modelId TS0601 zigbee_networkaddress 18135 zigbee_powersource MAINS zigbee_datecode zigbee_stkversion 0 zigbee_zclversion 3 vendor _TZE200_cwnjrr72 zigbee_powermode RECEIVER_ON_IDLE zigbee_powersources [MAINS] hardwareVersion 1 zigbee_applicationVersion 87 zigbee_device_initialised true
I'm not saying yaml - that's just what ZigBee2MQTT uses.

from org.openhab.binding.zigbee.

cdjackson avatar cdjackson commented on August 9, 2024

Ok, so this probably isn't a zigbee device - ie it's not using the cluster library that allows devices to communicate in a standard way. These sort of devices require custom code to manage them - z2mqtt already has this for these devices where the binding doesn't. Some of these devices have been added already, but it will require code to support, or a much more complex definition file to allow the various bits to be extracted.

from org.openhab.binding.zigbee.

pmknowles avatar pmknowles commented on August 9, 2024

from org.openhab.binding.zigbee.

cdjackson avatar cdjackson commented on August 9, 2024

The interview retrieves the list of endpoints - sure - but thats the thin end of the wedge. On top of this is also interviews the clusters, and from there the attributes/channels.

When a device doesn't follow ANY standards at the application level, it generally requires custom code to support. The binding has a kind of description language like you suggest, but it is designed to support custom attributes for devices that follow this paradigm. IT could of course be extended, and if you want to provide a PR, then I'm certainly happy to take a look at it. The underlying libraries provide all the information from the interview, and you can of course get access to this.

This sort of description is not something I would personally look to add as for it to be truely universal it would require a LOT of work. I don't believe this is done in zigbee2mqtt either - they have (I believe) a split functionality system where parts are written in code, and parts are then defined by the user. That is what is done here at the moment, but it does require code updates to support more of these non-standard functions from Tuya which are simply not zigbee.

from org.openhab.binding.zigbee.

pmknowles avatar pmknowles commented on August 9, 2024

from org.openhab.binding.zigbee.

cdjackson avatar cdjackson commented on August 9, 2024

from org.openhab.binding.zigbee.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.