Sinope Line Voltage Thermostats

Merci beaucoup pour cette info! Le support technique ne donnait donc pas une information complète.

Hi Claude, let’s say I want to have control and visibility over “airFloorMode”
what would you recommend as the best approach?

I’m fine with the syntax and templates but just wondering if I need to create 12 input_select, 12 scripts and 12 sensors ? is there something simpler ?
keeping in mind that I don’t want to end up with “on” and “off” as a substitute for “floor” and “ambiant”

I use “zha.set_zigbee_cluster_attribute” to set the values but not totally sure how to have visibility on the result/track changes so I can add it to a dashboard.

Let me know what you think,

Thank you!

Edit:
what I have so far:

To control:

alias: thermostats sinope set floor control mode
fields:
  entity_id:
    required: true
    description: Entity ID of your thermostat
    selector:
      entity:
        filter:
          domain: climate
  select:
    required: true
    description: Select desired option
    default: ambiant
    selector:
      select:
        options:
          - floor
          - ambiant
mode: single
icon: mdi:account
sequence:
  - service: zha.set_zigbee_cluster_attribute
    data:
      ieee: >-
        {{ device_attr(entity_id, 'identifiers') | selectattr(0,'eq','zha') |
        map(attribute=1) | first }}
      endpoint_id: 1
      cluster_id: 65281
      cluster_type: in
      attribute: 261
      value: "{{'1' if action == 'floor' else ('2' if action == 'ambiant' else '1')}}"

to report:
(but need to trigger on change instead of time based + report state as “floor” or “ambiant” vs “FloorMode.Floor” and “FloorMode.Air_by_floor”)

alias: thermostat 2e bureau floor control mode
description: ""
trigger:
  - platform: time_pattern
    minutes: /1
condition: []
action:
  - service: zha_toolkit.execute
    data:
      command: attr_read
      ieee: xx:xx:xx:xx:xx
      cluster: 65281
      attribute: 261
      state_id: sensor.thermostat_2e_bureau_floor_control_mode
      allow_create: true
      tries: 100
mode: single

Merci Claude,
It helps a lot knowing the exact text to put as the Attribue.
So I have my Graph for both the Water Temp and the Instant Wattage.

I have the following in configuration.yaml
scan_interval: 300
stat_interval: 300

But my graph gets updated every 1 hour with 2-3 point took every 5 minutes, then nothing for 1 hour.

image

Would you have an explanantion ?

Merci
Ben

Mais c’est logique pour protéger les appareils de ne pas tout repartir en même temps après une panne.

What is the graph card you are using

Not sure I understand what you try to achieve.
You want to display ambiant temperature and floor temperature on you floor thermostats ?
You can just pick the ambiant temperature attribute value in a sensor and send it to the second display the same way you send outside temperature.
You will have floor temperature as the lower temperature display and the outside temperature in the second display.

Chaude,
the image is from a click on the created sensor added directly in the dashboard.

I have the same behaviour when I use Mini Graph card.

Thanks
Ben

Sorry maybe this was not clear; I need to control and display the “airFloorMode” feature

image

which can be set to either “Air” or “Floor”

I want to have a switch/selector to toggle between “Air” / “Floor” (not “on” / “off”)
the switch/selector should also toggle on ZHA value change (ex: if “Air” / “Floor” is changed directly on the thermostat, the HA switch/selector should update its state as well)

similar to Z2M configuration buttons

you will see in my previous post I already found some clues on how to achieve this but would like your advice on the best/simplest method as I have to replicate it for 12 thermostats.

Just don’t want to overengineer this if there is a simple way to get the expected result.

Thank you!

Je n’ai pas de passerelle Neviweb.
J’ai couper plusieurs fois l’alimentation du chauffe eau, puis remis sous tension après environ 1 minute. La lumière “Load” du Calypso se réallume dès la remise sous tension.
Comment provoquer puis observer le mode “reprise après panne” du Calypso?
Est-ce que l’on peu observer ce mode à partir de ZHA ?
Merci.

Oui le retour après panne fonctionne dans ZHA et dans Neviweb. j’ai testé les deux avec mon calypso. Dès qu’on coupe le disjoncteur et qu’on le remet , le mode embarque avec un délais de 2 à 10 minutes aléatoire. Mais je ne sais pas si il y a un attribut qu’on peut changer pour activer cette fonction. Pouvez-vous faire une scan-device avec zha toolkit pour votre calypso pour voir si un attribut a une valeur différente du miens.

service: zha_toolkit.scan_device
data:
  ieee: 38:5c:fb:ff:fe:d9:ea:f4  <--iee de votre calypso
  endpoint: 1
  event_success: my_read_success_trigger_event
  event_fail: my_read_fail_trigger_event
  event_done: my_read_done_trigger_event

Un gros gros merci

1 Like

Voici le résultat du scan de mon Calypso

scan:
    ieee: xxxxxxxxxxxxxxxxxx
    nwk: "xxxxxxx"
    model: RM3500ZB
    manufacturer: Sinope Technologies
    manufacturer_id: "0x4508"
    endpoints:
      - id: 1
        device_type: "0x0002"
        profile: "0x0104"
        in_clusters:
          "0x0000":
            cluster_id: "0x0000"
            title: Basic
            name: basic
            attributes:
              "0x0000":
                attribute_id: "0x0000"
                attribute_name: zcl_version
                value_type:
                  - "0x20"
                  - uint8_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 8
              "0x0001":
                attribute_id: "0x0001"
                attribute_name: app_version
                value_type:
                  - "0x20"
                  - uint8_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 23
              "0x0002":
                attribute_id: "0x0002"
                attribute_name: stack_version
                value_type:
                  - "0x20"
                  - uint8_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 0
              "0x0003":
                attribute_id: "0x0003"
                attribute_name: hw_version
                value_type:
                  - "0x20"
                  - uint8_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 0
              "0x0004":
                attribute_id: "0x0004"
                attribute_name: manufacturer
                value_type:
                  - "0x42"
                  - CharacterString
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                attribute_value: Sinope Technologies
              "0x0005":
                attribute_id: "0x0005"
                attribute_name: model
                value_type:
                  - "0x42"
                  - CharacterString
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                attribute_value: RM3500ZB
              "0x0006":
                attribute_id: "0x0006"
                attribute_name: date_code
                value_type:
                  - "0x42"
                  - CharacterString
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                attribute_value: "20221110"
              "0x0007":
                attribute_id: "0x0007"
                attribute_name: power_source
                value_type:
                  - "0x30"
                  - enum8
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1
              "0x0010":
                attribute_id: "0x0010"
                attribute_name: location_desc
                value_type:
                  - "0x42"
                  - CharacterString
                  - Discrete
                access: READ|WRITE|REPORT
                access_acl: 7
                attribute_value: " "
              "0x0011":
                attribute_id: "0x0011"
                attribute_name: physical_env
                value_type:
                  - "0x30"
                  - enum8
                  - Discrete
                access: READ|WRITE|REPORT
                access_acl: 7
                attribute_value: 0
              "0x4000":
                attribute_id: "0x4000"
                attribute_name: sw_build_id
                value_type:
                  - "0x42"
                  - CharacterString
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                attribute_value: "245"
              "0xfffd":
                attribute_id: "0xfffd"
                attribute_name: cluster_revision
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1
            commands_received:
              "0x00":
                command_id: "0x00"
                command_name: reset_fact_default
                command_arguments: <class 'zigpy.zcl.foundation.reset_fact_default'>
            commands_generated: {}
          "0x0002":
            cluster_id: "0x0002"
            title: Device Temperature
            name: device_temperature
            attributes:
              "0x0000":
                attribute_id: "0x0000"
                attribute_name: current_temperature
                value_type:
                  - "0x29"
                  - int16s
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 33
              "0xfffd":
                attribute_id: "0xfffd"
                attribute_name: cluster_revision
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1
            commands_received: {}
            commands_generated: {}
          "0x0003":
            cluster_id: "0x0003"
            title: Identify
            name: identify
            attributes:
              "0x0000":
                attribute_id: "0x0000"
                attribute_name: identify_time
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|WRITE|REPORT
                access_acl: 7
                attribute_value: 0
              "0xfffd":
                attribute_id: "0xfffd"
                attribute_name: cluster_revision
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 2
            commands_received:
              "0x00":
                command_id: "0x00"
                command_name: identify
                command_arguments: <class 'zigpy.zcl.foundation.identify'>
              "0x01":
                command_id: "0x01"
                command_name: identify_query
                command_arguments: <class 'zigpy.zcl.foundation.identify_query'>
            commands_generated:
              "0x00":
                command_id: "0x00"
                command_name: identify_query_response
                command_args: <class 'zigpy.zcl.foundation.identify_query_response'>
          "0x0004":
            cluster_id: "0x0004"
            title: Groups
            name: groups
            attributes:
              "0x0000":
                attribute_id: "0x0000"
                attribute_name: name_support
                value_type:
                  - "0x18"
                  - bitmap8
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                attribute_value: 0
              "0xfffd":
                attribute_id: "0xfffd"
                attribute_name: cluster_revision
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1
            commands_received:
              "0x00":
                command_id: "0x00"
                command_name: add
                command_arguments: <class 'zigpy.zcl.foundation.add'>
              "0x01":
                command_id: "0x01"
                command_name: view
                command_arguments: <class 'zigpy.zcl.foundation.view'>
              "0x02":
                command_id: "0x02"
                command_name: get_membership
                command_arguments: <class 'zigpy.zcl.foundation.get_membership'>
              "0x03":
                command_id: "0x03"
                command_name: remove
                command_arguments: <class 'zigpy.zcl.foundation.remove'>
              "0x04":
                command_id: "0x04"
                command_name: remove_all
                command_arguments: <class 'zigpy.zcl.foundation.remove_all'>
              "0x05":
                command_id: "0x05"
                command_name: add_if_identifying
                command_arguments: <class 'zigpy.zcl.foundation.add_if_identifying'>
            commands_generated:
              "0x00":
                command_id: "0x00"
                command_name: add_response
                command_args: <class 'zigpy.zcl.foundation.add_response'>
              "0x01":
                command_id: "0x01"
                command_name: view_response
                command_args: <class 'zigpy.zcl.foundation.view_response'>
              "0x02":
                command_id: "0x02"
                command_name: get_membership_response
                command_args: <class 'zigpy.zcl.foundation.get_membership_response'>
              "0x03":
                command_id: "0x03"
                command_name: remove_response
                command_args: <class 'zigpy.zcl.foundation.remove_response'>
          "0x0005":
            cluster_id: "0x0005"
            title: Scenes
            name: scenes
            attributes:
              "0x0000":
                attribute_id: "0x0000"
                attribute_name: count
                value_type:
                  - "0x20"
                  - uint8_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 0
              "0x0001":
                attribute_id: "0x0001"
                attribute_name: current_scene
                value_type:
                  - "0x20"
                  - uint8_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 0
              "0x0002":
                attribute_id: "0x0002"
                attribute_name: current_group
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 0
              "0x0003":
                attribute_id: "0x0003"
                attribute_name: scene_valid
                value_type:
                  - "0x10"
                  - Bool
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                attribute_value: 0
              "0x0004":
                attribute_id: "0x0004"
                attribute_name: name_support
                value_type:
                  - "0x18"
                  - bitmap8
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                attribute_value: 0
              "0xfffd":
                attribute_id: "0xfffd"
                attribute_name: cluster_revision
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1
            commands_received:
              "0x00":
                command_id: "0x00"
                command_name: add
                command_arguments: <class 'zigpy.zcl.foundation.add'>
              "0x01":
                command_id: "0x01"
                command_name: view
                command_arguments: <class 'zigpy.zcl.foundation.view'>
              "0x02":
                command_id: "0x02"
                command_name: remove
                command_arguments: <class 'zigpy.zcl.foundation.remove'>
              "0x03":
                command_id: "0x03"
                command_name: remove_all
                command_arguments: <class 'zigpy.zcl.foundation.remove_all'>
              "0x04":
                command_id: "0x04"
                command_name: store
                command_arguments: <class 'zigpy.zcl.foundation.store'>
              "0x05":
                command_id: "0x05"
                command_name: recall
                command_arguments: <class 'zigpy.zcl.foundation.recall'>
              "0x06":
                command_id: "0x06"
                command_name: get_scene_membership
                command_arguments: <class 'zigpy.zcl.foundation.get_scene_membership'>
            commands_generated:
              "0x00":
                command_id: "0x00"
                command_name: add_scene_response
                command_args: <class 'zigpy.zcl.foundation.add_scene_response'>
              "0x01":
                command_id: "0x01"
                command_name: view_response
                command_args: <class 'zigpy.zcl.foundation.view_response'>
              "0x02":
                command_id: "0x02"
                command_name: remove_scene_response
                command_args: <class 'zigpy.zcl.foundation.remove_scene_response'>
              "0x03":
                command_id: "0x03"
                command_name: remove_all_scenes_response
                command_args: <class 'zigpy.zcl.foundation.remove_all_scenes_response'>
              "0x04":
                command_id: "0x04"
                command_name: store_scene_response
                command_args: <class 'zigpy.zcl.foundation.store_scene_response'>
              "0x06":
                command_id: "0x06"
                command_name: get_scene_membership_response
                command_args: <class 'zigpy.zcl.foundation.get_scene_membership_response'>
          "0x0006":
            cluster_id: "0x0006"
            title: On/Off
            name: on_off
            attributes:
              "0x0000":
                attribute_id: "0x0000"
                attribute_name: on_off
                value_type:
                  - "0x10"
                  - Bool
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1
              "0x4001":
                attribute_id: "0x4001"
                attribute_name: on_time
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|WRITE|REPORT
                access_acl: 7
                attribute_value: 0
              "0x4002":
                attribute_id: "0x4002"
                attribute_name: off_wait_time
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|WRITE|REPORT
                access_acl: 7
                attribute_value: 0
              "0xfffd":
                attribute_id: "0xfffd"
                attribute_name: cluster_revision
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1
            commands_received:
              "0x00":
                command_id: "0x00"
                command_name: "off"
                command_arguments: <class 'zigpy.zcl.foundation.off'>
              "0x01":
                command_id: "0x01"
                command_name: "on"
                command_arguments: <class 'zigpy.zcl.foundation.on'>
              "0x02":
                command_id: "0x02"
                command_name: toggle
                command_arguments: <class 'zigpy.zcl.foundation.toggle'>
              "0x42":
                command_id: "0x42"
                command_name: on_with_timed_off
                command_arguments: <class 'zigpy.zcl.foundation.on_with_timed_off'>
            commands_generated: {}
          "0x0402":
            cluster_id: "0x0402"
            title: Temperature Measurement
            name: temperature
            attributes:
              "0x0000":
                attribute_id: "0x0000"
                attribute_name: measured_value
                value_type:
                  - "0x29"
                  - int16s
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 5492
              "0x0001":
                attribute_id: "0x0001"
                attribute_name: min_measured_value
                value_type:
                  - "0x29"
                  - int16s
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: -4000
              "0x0002":
                attribute_id: "0x0002"
                attribute_name: max_measured_value
                value_type:
                  - "0x29"
                  - int16s
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 10000
              "0xfffd":
                attribute_id: "0xfffd"
                attribute_name: cluster_revision
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 3
            commands_received: {}
            commands_generated: {}
          "0x0500":
            cluster_id: "0x0500"
            title: IAS Zone
            name: ias_zone
            attributes:
              "0x0000":
                attribute_id: "0x0000"
                attribute_name: zone_state
                value_type:
                  - "0x30"
                  - enum8
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1
              "0x0001":
                attribute_id: "0x0001"
                attribute_name: zone_type
                value_type:
                  - "0x31"
                  - enum16
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                attribute_value: 42
              "0x0002":
                attribute_id: "0x0002"
                attribute_name: zone_status
                value_type:
                  - "0x19"
                  - bitmap16
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                attribute_value: 48
              "0x0010":
                attribute_id: "0x0010"
                attribute_name: cie_addr
                value_type:
                  - "0xf0"
                  - EUI64
                  - Discrete
                access: READ|WRITE|REPORT
                access_acl: 7
                attribute_value:
                  - 20
                  - 247
                  - 95
                  - 33
                  - 0
                  - 75
                  - 18
                  - 0
              "0x0011":
                attribute_id: "0x0011"
                attribute_name: zone_id
                value_type:
                  - "0x20"
                  - uint8_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 0
              "0xfffd":
                attribute_id: "0xfffd"
                attribute_name: "65533"
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1
            commands_received:
              "0x00":
                command_id: "0x00"
                command_name: enroll_response
                command_arguments: <class 'zigpy.zcl.foundation.enroll_response'>
            commands_generated:
              "0x00":
                command_id: "0x00"
                command_name: status_change_notification
                command_args: <class 'zigpy.zcl.foundation.status_change_notification'>
              "0x01":
                command_id: "0x01"
                command_name: enroll
                command_args: <class 'zigpy.zcl.foundation.enroll'>
          "0x0702":
            cluster_id: "0x0702"
            title: Metering
            name: smartenergy_metering
            attributes:
              "0x0000":
                attribute_id: "0x0000"
                attribute_name: current_summ_delivered
                value_type:
                  - "0x25"
                  - uint48_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 2507333
              "0x0200":
                attribute_id: "0x0200"
                attribute_name: status
                value_type:
                  - "0x18"
                  - bitmap8
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                attribute_value: 0
              "0x0300":
                attribute_id: "0x0300"
                attribute_name: unit_of_measure
                value_type:
                  - "0x30"
                  - enum8
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                attribute_value: 0
              "0x0301":
                attribute_id: "0x0301"
                attribute_name: multiplier
                value_type:
                  - "0x22"
                  - uint24_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1
              "0x0302":
                attribute_id: "0x0302"
                attribute_name: divisor
                value_type:
                  - "0x22"
                  - uint24_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1000
              "0x0303":
                attribute_id: "0x0303"
                attribute_name: summation_formatting
                value_type:
                  - "0x18"
                  - bitmap8
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                attribute_value: 193
              "0x0306":
                attribute_id: "0x0306"
                attribute_name: metering_device_type
                value_type:
                  - "0x18"
                  - bitmap8
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                attribute_value: 0
              "0xfffd":
                attribute_id: "0xfffd"
                attribute_name: "65533"
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1
            commands_received: {}
            commands_generated: {}
          "0x0b04":
            cluster_id: "0x0b04"
            title: Electrical Measurement
            name: electrical_measurement
            attributes:
              "0x0000":
                attribute_id: "0x0000"
                attribute_name: measurement_type
                value_type:
                  - "0x1b"
                  - bitmap32
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                attribute_value: 9
              "0x0505":
                attribute_id: "0x0505"
                attribute_name: rms_voltage
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 232
              "0x0507":
                attribute_id: "0x0507"
                attribute_name: rms_voltage_max
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 237
              "0x0508":
                attribute_id: "0x0508"
                attribute_name: rms_current
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 30
              "0x050a":
                attribute_id: "0x050a"
                attribute_name: rms_current_max
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 3310
              "0x050b":
                attribute_id: "0x050b"
                attribute_name: active_power
                value_type:
                  - "0x29"
                  - int16s
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 0
              "0x050d":
                attribute_id: "0x050d"
                attribute_name: active_power_max
                value_type:
                  - "0x29"
                  - int16s
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 783
              "0x0600":
                attribute_id: "0x0600"
                attribute_name: ac_voltage_multiplier
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1
              "0x0601":
                attribute_id: "0x0601"
                attribute_name: ac_voltage_divisor
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1
              "0x0602":
                attribute_id: "0x0602"
                attribute_name: ac_current_multiplier
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1
              "0x0603":
                attribute_id: "0x0603"
                attribute_name: ac_current_divisor
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1000
              "0x0604":
                attribute_id: "0x0604"
                attribute_name: ac_power_multiplier
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1
              "0x0605":
                attribute_id: "0x0605"
                attribute_name: ac_power_divisor
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1
              "0xfffd":
                attribute_id: "0xfffd"
                attribute_name: cluster_revision
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1
            commands_received: {}
            commands_generated: {}
          "0x0b05":
            cluster_id: "0x0b05"
            title: Diagnostic
            name: diagnostic
            attributes:
              "0x0000":
                attribute_id: "0x0000"
                attribute_name: number_of_resets
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 4561
              "0x0001":
                attribute_id: "0x0001"
                attribute_name: persistent_memory_writes
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 57660
              "0x011b":
                attribute_id: "0x011b"
                attribute_name: average_mac_retry_per_aps_message_sent
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 0
              "0x011c":
                attribute_id: "0x011c"
                attribute_name: last_message_lqi
                value_type:
                  - "0x20"
                  - uint8_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 152
              "0x011d":
                attribute_id: "0x011d"
                attribute_name: last_message_rssi
                value_type:
                  - "0x28"
                  - int8s
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: -62
              "0xfffd":
                attribute_id: "0xfffd"
                attribute_name: cluster_revision
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1
            commands_received: {}
            commands_generated: {}

…la suite et fin

          "0xff01":
            cluster_id: "0xff01"
            title: Sinopé Manufacturer specific
            name: sinope_manufacturer_specific
            attributes:
              "0x0001":
                attribute_id: "0x0001"
                attribute_name: unknown_attr
                value_type:
                  - "0x10"
                  - Bool
                  - Discrete
                access: READ|WRITE|REPORT
                access_acl: 7
                manf_id: 4508
                attribute_value: 1
              "0x0002":
                attribute_id: "0x0002"
                attribute_name: keypad_lockout
                value_type:
                  - "0x30"
                  - enum8
                  - Discrete
                access: READ|WRITE|REPORT
                access_acl: 7
                manf_id: 4508
                attribute_value: 0
              "0x0003":
                attribute_id: "0x0003"
                attribute_name: firmware_number
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                manf_id: 4508
                attribute_value: 245
              "0x0004":
                attribute_id: "0x0004"
                attribute_name: firmware_version
                value_type:
                  - "0x42"
                  - CharacterString
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                manf_id: 4508
                attribute_value: "0000"
              "0x0035":
                attribute_id: "0x0035"
                attribute_name: "53"
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                manf_id: 4508
                attribute_value: 100
              "0x0037":
                attribute_id: "0x0037"
                attribute_name: "55"
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|WRITE|REPORT
                access_acl: 7
                manf_id: 4508
                attribute_value: 744
              "0x0038":
                attribute_id: "0x0038"
                attribute_name: "56"
                value_type:
                  - "0x30"
                  - enum8
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                manf_id: 4508
                attribute_value: 0
              "0x0060":
                attribute_id: "0x0060"
                attribute_name: connected_load
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                manf_id: 4508
                attribute_value: 1
              "0x0070":
                attribute_id: "0x0070"
                attribute_name: current_load
                value_type:
                  - "0x18"
                  - bitmap8
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                manf_id: 4508
                attribute_value: 0
              "0x0074":
                attribute_id: "0x0074"
                attribute_name: "116"
                value_type:
                  - "0x30"
                  - enum8
                  - Discrete
                access: READ|WRITE|REPORT
                access_acl: 7
                manf_id: 4508
                attribute_value: 255
              "0x0076":
                attribute_id: "0x0076"
                attribute_name: dr_config_water_temp_min
                value_type:
                  - "0x20"
                  - uint8_t
                  - Analog
                access: READ|WRITE|REPORT
                access_acl: 7
                manf_id: 4508
                attribute_value: 45
              "0x0077":
                attribute_id: "0x0077"
                attribute_name: dr_config_water_temp_time
                value_type:
                  - "0x20"
                  - uint8_t
                  - Analog
                access: READ|WRITE|REPORT
                access_acl: 7
                manf_id: 4508
                attribute_value: 2
              "0x0078":
                attribute_id: "0x0078"
                attribute_name: dr_wt_time_on
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|WRITE|REPORT
                access_acl: 7
                manf_id: 4508
                attribute_value: 240
              "0x0079":
                attribute_id: "0x0079"
                attribute_name: "121"
                value_type:
                  - "0x18"
                  - bitmap8
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                manf_id: 4508
                attribute_value: 0
              "0x0080":
                attribute_id: "0x0080"
                attribute_name: unknown_attr_4
                value_type:
                  - "0x23"
                  - uint32_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                manf_id: 4508
                attribute_value: 0
              "0x0090":
                attribute_id: "0x0090"
                attribute_name: current_summation_delivered
                value_type:
                  - "0x23"
                  - uint32_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                manf_id: 4508
                attribute_value: 0
              "0x00a0":
                attribute_id: "0x00a0"
                attribute_name: timer
                value_type:
                  - "0x23"
                  - uint32_t
                  - Analog
                access: READ|WRITE|REPORT
                access_acl: 7
                manf_id: 4508
              "0x00a1":
                attribute_id: "0x00a1"
                attribute_name: timer_countdown
                value_type:
                  - "0x23"
                  - uint32_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                manf_id: 4508
              "0x00b0":
                attribute_id: "0x00b0"
                attribute_name: "176"
                value_type:
                  - "0x10"
                  - Bool
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                manf_id: 4508
              "0x0101":
                attribute_id: "0x0101"
                attribute_name: unknown_attr_9
                value_type:
                  - "0x48"
                  - Array
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                manf_id: 4508
              "0x012a":
                attribute_id: "0x012a"
                attribute_name: "298"
                value_type:
                  - "0x30"
                  - enum8
                  - Discrete
                access: READ|WRITE|REPORT
                access_acl: 7
                manf_id: 4508
              "0x012c":
                attribute_id: "0x012c"
                attribute_name: "300"
                value_type:
                  - "0x48"
                  - Array
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                manf_id: 4508
              "0x0200":
                attribute_id: "0x0200"
                attribute_name: status
                value_type:
                  - "0x1b"
                  - bitmap32
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                manf_id: 4508
              "0x0202":
                attribute_id: "0x0202"
                attribute_name: "514"
                value_type:
                  - "0x30"
                  - enum8
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                manf_id: 4508
              "0x0203":
                attribute_id: "0x0203"
                attribute_name: "515"
                value_type:
                  - "0x30"
                  - enum8
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                manf_id: 4508
                attribute_value: 44
              "0x0280":
                attribute_id: "0x0280"
                attribute_name: "640"
                value_type:
                  - "0x29"
                  - int16s
                  - Analog
                access: READ|WRITE|REPORT
                access_acl: 7
                manf_id: 4508
                attribute_value: 5300
              "0x0281":
                attribute_id: "0x0281"
                attribute_name: "641"
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|WRITE|REPORT
                access_acl: 7
                manf_id: 4508
                attribute_value: 0
              "0x0282":
                attribute_id: "0x0282"
                attribute_name: "642"
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|WRITE|REPORT
                access_acl: 7
                manf_id: 4508
                attribute_value: 0
              "0x0283":
                attribute_id: "0x0283"
                attribute_name: cold_load_pickup_status
                value_type:
                  - "0x30"
                  - enum8
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                manf_id: 4508
                attribute_value: 1
              "0xfffd":
                attribute_id: "0xfffd"
                attribute_name: cluster_revision
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                manf_id: 4508
                attribute_value: 1
            commands_received: {}
            commands_generated: {}
        out_clusters:
          "0x000a":
            cluster_id: "0x000a"
            title: Time
            name: time
            attributes:
              "0xfffd":
                attribute_id: "0xfffd"
                attribute_name: cluster_revision
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 2
            commands_received: {}
            commands_generated: {}
          "0x0019":
            cluster_id: "0x0019"
            title: Ota
            name: ota
            attributes:
              "0x0000":
                attribute_id: "0x0000"
                attribute_name: upgrade_server_id
                value_type:
                  - "0xf0"
                  - EUI64
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                attribute_value:
                  - 20
                  - 247
                  - 95
                  - 33
                  - 0
                  - 75
                  - 18
                  - 0
              "0x0001":
                attribute_id: "0x0001"
                attribute_name: file_offset
                value_type:
                  - "0x23"
                  - uint32_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 4294967295
              "0x0006":
                attribute_id: "0x0006"
                attribute_name: image_upgrade_status
                value_type:
                  - "0x30"
                  - enum8
                  - Discrete
                access: READ|REPORT
                access_acl: 5
                attribute_value: 0
              "0x0009":
                attribute_id: "0x0009"
                attribute_name: minimum_block_req_delay
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 0
              "0xfffd":
                attribute_id: "0xfffd"
                attribute_name: cluster_revision
                value_type:
                  - "0x21"
                  - uint16_t
                  - Analog
                access: READ|REPORT
                access_acl: 5
                attribute_value: 1
            commands_received:
              "0x00":
                command_id: "0x00"
                command_name: "0"
                command_arguments: not_in_zcl
              "0x02":
                command_id: "0x02"
                command_name: "2"
                command_arguments: not_in_zcl
              "0x05":
                command_id: "0x05"
                command_name: "5"
                command_arguments: not_in_zcl
              "0x07":
                command_id: "0x07"
                command_name: "7"
                command_arguments: not_in_zcl
            commands_generated:
              "0x01":
                command_id: "0x01"
                command_name: "1"
                command_args: not_in_zcl
              "0x03":
                command_id: "0x03"
                command_name: "3"
                command_args: not_in_zcl
              "0x04":
                command_id: "0x04"
                command_name: "4"
                command_args: not_in_zcl
              "0x06":
                command_id: "0x06"
                command_name: "6"
                command_args: not_in_zcl

Claude,
I tried to debug why the Calypso Temp Sensor is giving a reading every hours without success.

In fact, every hour there is 2-3 reading spaced by 5 minutes (which is my scan interval).

I notice that during the hour where no temparature change, the Neviweb cell app or Web page is providing a reading that difers from the one that is stuck in HA.

The Wattage_instant does not behave like the Water_temperature, there is a different value every 5 minutes.

scan_interval: 300
stat_interval: 300

Thanks for you help.

Ben

This is what I have for water temperature
eau
I have a reading every scan_intervall.
What is your graph card ? and what is the setting
I have a sensor

template:
  sensor:
    - name: "temperature_eau"
        unique_id: sensor.temperature_eau
        unit_of_measurement: '°C'
        device_class: temperature
        state_class: measurement
        state: "{{ state_attr('switch.neviweb130_switch_calypso_chauffe_eau', 'Water_temperature') }}"

My graph utility is history graph

    cards:
      - type: history-graph
        title: Historique temperature du chauffe eau
        entities:
          - sensor.temperature_eau
        hours_to_show: 24
        refresh_interval: 0

Hi Claude, don’t want to be pushy but am not sure if you saw my last post. Still trying to learn how to interact with ZHA and maybe I missed some basic info. Just trying to create selectors (boolean/switch?) For features not already exposed in HA so I can use them in dashboards. Feel free to redirect me to the correct ressources/mandatory reading :slightly_smiling_face:
Just need some guidance to start off on the right foot.
Thanks for your help :pray:

This threat is wild.
Please let me know if I should start a new one - But I figure this is a good place.

Is anyone getting alerts like this?

I’m getting dozens a day on two thermostats. Not always identical. some talking about an update being paused?

It could easily be something in my house, which is full of gremlins.
But - anyone know what it means? Were is this log, anyway? There is nothing in my logbook, and I can’t find anything on Neviweb.com.

Thanks for any leads!

This is sent when during polling of your device data, Neviweb is replying with error message “DVCUNVLB” device unavailable. This is when connection is lost between your device and Neviweb.
Main cause, this is a wifi thermostat and the wifi connection is dropped by your router. The device stop sending data to neviweb so when neviweb130 ask Neviweb for this device data it get an answer from Neviweb about device unavailable.
It can also be because there is an update going on on neviweb and it is not possible to poll for device data. But this one is not too frequent.
I’ll add in the notification the device sku to know which device model it is.
After 20 minutes the polling is restarted to see if device is back.

1 Like

yes but I was busy to reset my HA to be ready for the first peak. When you test new method it is easy to break things. I spend a lot of time switching device between Neviweb and ZHA. Will check what I can find to help you.

Thank you Claude, much appreciated.

Just migrated to HA so also had fingers crossed with the first peak this morning :crossed_fingers: All good so far.

Meanwhile I was able to create a script (below) to easily control a single feature (floor control mode in this example) on multiple thermostats at once.

What I’m missing is a boolean (or switch, or selector) to control and receive status from thermostats.
Ex: for thermostat X, toggle floor control mode and receive feedback/status on a Lovelace card.
If floor control mode is changed directly on the thermostat, the card should automatically update as well.

Keep me posted once you have a chance,

Cheers,

alias: THERMOSTATS sinope set floor control mode ZHA
fields:
  entity_id:
    required: true
    description: Entity ID of your thermostat
    selector:
      entity:
        multiple: true
        filter:
          domain: climate
  mode:
    required: true
    description: Select desired option
    default: ambiant
    selector:
      select:
        options:
          - floor
          - ambiant
mode: single
icon: mdi:account
sequence:
  - repeat:
      for_each: "{{ entity_id }}"
      sequence:
        - variables:
            ieee: |
              {{ device_attr(repeat.item, 'identifiers') 
              | selectattr(0, 'eq', 'zha') | map(attribute=1) | first }}
        - service: zha.set_zigbee_cluster_attribute
          data:
            ieee: "{{ ieee }}"
            endpoint_id: 1
            cluster_id: 65281
            cluster_type: in
            attribute: 261
            value: >-
              {{'1' if mode == 'ambiant' else ('2' if mode == 'floor' else
              '1')}}