tuya-local icon indicating copy to clipboard operation
tuya-local copied to clipboard

Request support for Water leak control system Neptun Smart

Open egric opened this issue 1 year ago • 6 comments

Log message

Tuya Smart Zigbee Door Sensor receive loop has terminated....

Device matches None with quality of 0%. DPS: {"updated_at": 1725039081.0056617, "141": 0}
Device matches None with quality of 0%. DPS: {"updated_at": 1725039126.1111045, "137": 0, "140": 0, "141": 0}
Device matches None with quality of 0%. DPS: {"updated_at": 1725039350.8411925, "114": "AwMDAw=="}

DPS information

{
  "result": {
    "model": "{\"modelId\":\"000002fhoc\",\"services\":[{\"actions\":[],\"code\":\"\",\"description\":\"\",\"events\":[],\"name\":\"默认服务\",\"properties\":[{\"abilityId\":101,\"accessMode\":\"rw\",\"code\":\"floor_cleaning_flag\",\"description\":\"Implemented as a switch in the settings window\",\"extensions\":{\"iconName\":\"icon-dp_water\",\"attribute\":\"4\"},\"name\":\"Floor cleaning\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":108,\"accessMode\":\"rw\",\"code\":\"add_new_sensors\",\"description\":\"Flag of  starting procedure of add new sensors. Define as button in Sensor settings window.\",\"name\":\"Add new sensors\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":109,\"accessMode\":\"rw\",\"code\":\"status_crane_group_1\",\"description\":\"Status of crane first group. Define as switch in main window of app\",\"extensions\":{\"iconName\":\"icon-icon-test10\",\"attribute\":\"5\"},\"name\":\"Status crane group 1\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":110,\"accessMode\":\"rw\",\"code\":\"status_crane_group_2\",\"description\":\"Status of crane second group. Define as switch in main window of app\",\"extensions\":{\"iconName\":\"icon-icon-test10\",\"attribute\":\"5\"},\"name\":\"Status crane group 2\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":111,\"accessMode\":\"rw\",\"code\":\"group_eneble\",\"description\":\"Enable separate on two group. Define as switch in config window\",\"name\":\"Group enable\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":112,\"accessMode\":\"rw\",\"code\":\"close_if_sensor_loss\",\"description\":\"Enable of closing cranes on loss of RF sensors . Define as switch in config window.\",\"name\":\"Close if sensor loss\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":113,\"accessMode\":\"rw\",\"code\":\"child_protection\",\"description\":\"If enabled then keyboard is blocked. Define in config window as switch.\",\"extensions\":{\"iconName\":\"icon-dp_lock\",\"attribute\":\"4\"},\"name\":\"Child protection\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":114,\"accessMode\":\"rw\",\"code\":\"line_settings\",\"description\":\"Settings for four lines.\\n{input_type_1, control_group_1 },\\n{input_type_2, control_group_2 },\\n{input_type_3, control_group_3 },\\n{input_type_4, control_group_4 }\\n\\ninput_type - byte, ref. as (0-sensor/1-key)\\ncontrol_group - byte, ref. as (1-control group 1; 2-control group 2; 3-control both group)\\n\",\"name\":\"Line settings\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":115,\"accessMode\":\"ro\",\"code\":\"status_wire_line\",\"description\":\"Status each from four wire lines.\\n{status_line_1, status_line_2, status_line_3, status_line_4}\\nEach status_line is а boolean. Use for notifications.\",\"name\":\"Status wire line\",\"typeSpec\":{\"type\":\"value\",\"max\":255,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},{\"abilityId\":116,\"accessMode\":\"rw\",\"code\":\"relay_settings\",\"description\":\"Configuring relay triggering by events.\\n{event_close, event_attention}\\nevent_close - byte, can referenced as 0 - not triggered; 1- triggered if close crane 1 group; 2-if close crane 2 group; 3 - if close crane both group.\\nevent_attention - byte, can referenced as 0 - not triggered; 1- triggered if attention on 1 group; 2- if attention on 2 group; 3 - if  both group.\\n\\n\\n\",\"name\":\"Relay settings\",\"typeSpec\":{\"type\":\"value\",\"max\":15,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},{\"abilityId\":117,\"accessMode\":\"rw\",\"code\":\"address_modbus\",\"description\":\"Address MODBUS RTU for extender module RS-485. Defined in settings menu\",\"name\":\"Address MODBUS\",\"typeSpec\":{\"type\":\"value\",\"max\":247,\"min\":1,\"scale\":0,\"step\":1,\"unit\":\"\"}},{\"abilityId\":118,\"accessMode\":\"rw\",\"code\":\"modbus_speed\",\"description\":\"Settings speed of MODBUS RTU. Defined in settings menu\",\"name\":\"MODBUS speed\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"1200\",\"2400\",\"4800\",\"9600\",\"19200\",\"38400\",\"57600\",\"115200\",\"230400\",\"460800\",\"921600\"]}},{\"abilityId\":119,\"accessMode\":\"rw\",\"code\":\"count_rf_sensors\",\"description\":\"Counter of RF sensors. This value use for viewing window of configuration RF sensors.\",\"name\":\"Count of RF sensors\",\"typeSpec\":{\"type\":\"value\",\"max\":50,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},{\"abilityId\":120,\"accessMode\":\"rw\",\"code\":\"settings_rf_sensors\",\"description\":\"Massive of settings RF sensors.  Max size of massive is 50. \\nSettings is defined control leakage on group.\\n{settings_rf_sensors} - data as 3 bytes for each sensor.\\nReferenced as:\\naddress of sensor - 2 bytes\\ngroup connection - 1 byte, referenced as:\\n   1 -  first group\\n   2 - second group\\n   3 - both group\",\"name\":\"Settings RF sensors\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":121,\"accessMode\":\"ro\",\"code\":\"status_rf_sensor\",\"description\":\"Massive of status RF sensors.  Max size of massive is 50. \\nEach element of massive consist five bytes.\\n{\\n battery_level (ref. 0-100),\\n rf_signal_level (0 - 4),\\n lost_sensor flag (0-1),\\n discharge_battery_flag (0-1),\\n attention_leakage_flag (0-1)\\n} \\n\",\"name\":\"Status RF sensors\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":122,\"accessMode\":\"rw\",\"code\":\"counters_data\",\"description\":\"Data of counters for four slots.\\n-Status counter n.m - 0/1 (byte)\\n-Value of counter n.m - 0 -99999999 (4 bytes)\\n-Step of counter n.m - 1,10,100 (byte)\\n-Type of connection n.m - 0/1 (no namur/namur) (byte);\\n-Error counter n.m - 0 -not, 1-short circuit, 2-brake (byte);\\nn.m - n-slot(1-4), m - counter (1-2).\\n\",\"name\":\"Counters data\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":123,\"accessMode\":\"ro\",\"code\":\"notifications\",\"description\":\"Fault for notifications\",\"extensions\":{\"scope\":\"fault\"},\"name\":\"Notifications\",\"typeSpec\":{\"type\":\"bitmap\",\"label\":[\"alarm_1_group\",\"alarm_2_group\",\"sens_discharge\",\"sensor_lost\",\"close_1_group\",\"close_2_group\",\"cleaning_floor\",\"slot1_error\",\"slot2_error\",\"slot3_error\",\"slot4_error\",\"counter1_error\",\"counter2_error\",\"counter3_error\",\"counter4_error\",\"counter5_error\",\"counter6_error\",\"counter7_error\",\"counter8_error\"],\"maxlen\":19}},{\"abilityId\":124,\"accessMode\":\"rw\",\"code\":\"name_rf_1_5\",\"description\":\"Name of sensors 1-5. Each name have size is 51 byte.\",\"name\":\"Name RF sens 1-5\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":125,\"accessMode\":\"rw\",\"code\":\"name_rf_6_10\",\"description\":\"Names of senors 6-10. Each name have size is 51 byte.\",\"name\":\"Name RF sens 6-10\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":126,\"accessMode\":\"rw\",\"code\":\"name_rf_11_15\",\"description\":\"Name of sensors 11-15. Each name have size is 51 byte.\",\"name\":\"Name RF sens 11-15\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":127,\"accessMode\":\"rw\",\"code\":\"name_rf_16_20\",\"description\":\"Name of sensors 16-20\",\"name\":\"Name RF sens 16-20\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":128,\"accessMode\":\"rw\",\"code\":\"name_rf_20_25\",\"description\":\"Name of sensors 20-25. Each name have size is 51 byte.\",\"name\":\"Name RF sens 20-25\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":129,\"accessMode\":\"rw\",\"code\":\"name_rf_26_30\",\"description\":\"Name of sensors 26-30. Each name have size is 51 byte.\",\"name\":\"Name RF sens 26-30\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":130,\"accessMode\":\"rw\",\"code\":\"name_rf_31_35\",\"description\":\"Name of sensors 31-35. Each name have size is 51 byte.\",\"name\":\"Name RF sens 31-35\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":131,\"accessMode\":\"rw\",\"code\":\"name_rf_36_40\",\"description\":\"Name of sensors 36-40. Each name have size is 51 byte.\",\"name\":\"Name RF sens 36-40\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":132,\"accessMode\":\"rw\",\"code\":\"name_rf_40_45\",\"description\":\"Name of sensors 40-50. Each name have size is 51 byte.\",\"name\":\"Name RF sens 40-45\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":133,\"accessMode\":\"rw\",\"code\":\"name_rf_46_50\",\"description\":\"Name of sensors 45-50. Each name have size is 51 byte.\",\"name\":\"Name RF sens 46-50\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":134,\"accessMode\":\"rw\",\"code\":\"name_lines\",\"description\":\"Name of wired lines. In array 4 names. Each name have size is 51 byte.\",\"name\":\"Name of Lines\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":135,\"accessMode\":\"rw\",\"code\":\"name_zones\",\"description\":\"Name of zones. In array 2 names. Each name have size is 51 byte.\",\"name\":\"Name of Zones\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":136,\"accessMode\":\"rw\",\"code\":\"name_of_counters\",\"description\":\"Names of counters. In array 8 names. Each name have size is 31 byte.\",\"name\":\"Name of Counters\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":137,\"accessMode\":\"ro\",\"code\":\"counter1\",\"description\":\"\",\"extensions\":{\"trigger\":\"direct\"},\"name\":\"Counter1\",\"typeSpec\":{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},{\"abilityId\":138,\"accessMode\":\"ro\",\"code\":\"counter2\",\"description\":\"\",\"extensions\":{\"trigger\":\"direct\"},\"name\":\"Counter2\",\"typeSpec\":{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},{\"abilityId\":139,\"accessMode\":\"ro\",\"code\":\"counter3\",\"description\":\"\",\"extensions\":{\"trigger\":\"direct\"},\"name\":\"Counter3\",\"typeSpec\":{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},{\"abilityId\":140,\"accessMode\":\"ro\",\"code\":\"counter4\",\"description\":\"\",\"extensions\":{\"trigger\":\"direct\"},\"name\":\"Counter4\",\"typeSpec\":{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},{\"abilityId\":141,\"accessMode\":\"ro\",\"code\":\"counter5\",\"description\":\"\",\"extensions\":{\"trigger\":\"direct\"},\"name\":\"Counter5\",\"typeSpec\":{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},{\"abilityId\":142,\"accessMode\":\"ro\",\"code\":\"counter6\",\"description\":\"\",\"extensions\":{\"trigger\":\"direct\"},\"name\":\"Counter6\",\"typeSpec\":{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},{\"abilityId\":143,\"accessMode\":\"ro\",\"code\":\"counter7\",\"description\":\"\",\"extensions\":{\"trigger\":\"direct\"},\"name\":\"Counter7\",\"typeSpec\":{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},{\"abilityId\":144,\"accessMode\":\"ro\",\"code\":\"counter8\",\"description\":\"\",\"extensions\":{\"trigger\":\"direct\"},\"name\":\"Counter8\",\"typeSpec\":{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},{\"abilityId\":145,\"accessMode\":\"ro\",\"code\":\"slots_map\",\"description\":\"Slots map\",\"name\":\"Slots map\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}}]}]}"
  },
  "success": true,
  "t": 1725036978625,
  "tid": "c6d1aa4866f011efbc016e7818a0f8a2"
}

Product ID

vptg13wa7y8xmoio

Product Name

Neptun Smart (Water leak control system)

Information about how the device functions

Neptun Smart is the head unit of the water leak monitoring system. It is designed to process signals from sensors for monitoring water leakage and issuing a control signal to an actuator (electric ball valve) that blocks water. Tuyalocal defines it as "Tuya Smart Zigbee Door Sensor", but this is not correct

egric avatar Aug 30 '24 18:08 egric

Since the dps returned by this device are not consistent, it is not possible to support currently. I hope in the not too distant future to make use of the local discovery to overcome this, but this will take some effort so not for the short term.

make-all avatar Aug 31 '24 00:08 make-all

Thanks for the prompt response. Tell me, what does it mean "the data transmitted by this device is not consistent." Not agreed by whom? Or what?

Отправлено из мобильной Почты Mail

суббота, 31 августа 2024 г. в 03:12 +03:00 от @.*** @.***>:

Since the dps returned by this device are not consistent, it is not possible to support currently. I hope in the not too distant future to make use of the local discovery to overcome this, but this will take some effort so not for the short term. — Reply to this email directly, view it on GitHub , or unsubscribe . You are receiving this because you authored the thread. Message ID: <make-all/tuya-local/issues/2260/2322624819 @ github . com>

egric avatar Aug 31 '24 04:08 egric

Not consistent, meaning it is returning different dps each time it is queried.

make-all avatar Aug 31 '24 05:08 make-all

I got it. It's sad that I won't be able to connect the device to my home assistant. But I believe in your strength!

Отправлено из мобильной Почты Mail

суббота, 31 августа 2024 г. в 08:22 +03:00 от @.*** @.***>:

Not consistent, meaning it is returning different dps each time it is queried. — Reply to this email directly, view it on GitHub , or unsubscribe . You are receiving this because you authored the thread. Message ID: <make-all/tuya-local/issues/2260/2322778500 @ github . com>

egric avatar Aug 31 '24 05:08 egric

https://github.com/allovaro/neptun_homeassistant I found a repository where it is possible to connect the old model of the Neptun module. Can you get something from here?

egric avatar Aug 31 '24 19:08 egric

https://community.home-assistant.io/t/neptun-smart-water-leakage-protection-system-integration/741137 Hello. Here there is also information about a possible connection to the Home Assistant. I have great faith in you. All hope is on you!

egric avatar Sep 03 '24 06:09 egric

Thank you for your effort and especially with Neptun Smart. I'm trying to enhance your device configuration and make the all dps work in HA like in Tuya, but some of them have unusual attributes. For example dps: 115. In Tuya it works for alert notification and shows number/name of wired sensor is triggered. I get some description from Tuya API Explorer and it looks like array with boolean values, but in Device Debugging mode it get integer value. I triggered sensors and in debugging mode i get 2, 3, 4. 0 is default value. In you Local Tuya configuration it's integer too, but HA can't define it. I try interpret it like json, string, boolean, base64 but neither works. Any ideas?

 "abilityId":115,
 "accessMode":"ro",
 "code":"status_wire_line",
 "description":"Status each from four wire lines.
  {status_line_1, status_line_2, status_line_3, status_line_4}
  Each status_line is а boolean. Use for notifications.",
  "name":"Status wire line",
  "typeSpec":
     "type":"value",
      "max":255,
      "min":0,
      "scale":0, 
      "step":1,
      "unit": "",

image

    - id: 115
      type: integer
      optional: true
      name: status_wire_line

Second question: Is it possible to set string input entity for dps with string value like dps: 134 - it keeps string with wired lines names separated with comma image

What I have already done is changed the types of valves entities Zone 1/ Zone 2 to switch. They have not Opening and Closing states actually and HA automations don't work whit this trigger. If I can fix the whole config, I'll send it

In any case, thanks for your help.

AlexLIte avatar Jan 14 '25 21:01 AlexLIte

The type "value" in tuya docs indicates an integer. When it is an array of bits they use a type of "bitmap". But it is likely that they actually mean bitmap, collecting samples of the different values would be needed to see if it is acting as a bitmap. If it is a bitmap, then mask can be used to extract individual bits.

There is no suitable entity that I am aware of in HA for setting free text as a value. If there is, then let me know, as it is missing from this integration.

make-all avatar Jan 15 '25 07:01 make-all

I'll try to trigger all sensors and get the result. But the main problem now all my custom yaml configurations was deleted after last update today and all devices use them are disabled now. Is it unsafe to save them in dir /homeassistant/custom_components/tuya_local/devices/ ? Is there safe place to save it?

Sorry, I'm new to HA and not entirely sure, but this doesn't help? https://www.home-assistant.io/integrations/text/ https://www.home-assistant.io/integrations/input_text/

AlexLIte avatar Jan 16 '25 23:01 AlexLIte

Yes, the first of those helps, they seem to have quietly added that one about 2 years ago.

make-all avatar Jan 17 '25 02:01 make-all

But what about custum configurations for devices that are not in official device list? As i said after last local_tuya update it seem bin /homeassistant/custom_components/tuya_local/devices/ was totally deleted and updated with old and new supported devices. All my custom configurations disapeared. Is it possible for you make that directory or custom files in it udeleteble? Or create undeletable custom directory that won't be deleted after each new local_tuya update for example /homeassistant/custom_components/tuya_local/custom_devices/?

AlexLIte avatar Jan 17 '25 09:01 AlexLIte

The installation method for custom components is out of my hands. But logically, it is correct for the previous version to be deleted, as otherwise any renames or deletions that are part of the new release would not be applied.

make-all avatar Jan 17 '25 09:01 make-all

@make-all, hi, its looks like dps 111 works incorrect - after each restart it became false and zone 2 is unavaliable until enabled multi zone config. while in cloud propetries its still true

      {
        "code": "group_eneble",
        "custom_name": "",
        "dp_id": 111,
        "time": 1754243236778,
        "type": "bool",
        "value": true
      },

I don't see anything related to this dp in the logs

2025-08-04 00:04:48.550 DEBUG (MainThread) [custom_components.tuya_local.device] Refreshing device state for Neptun smart
2025-08-04 00:04:48.550 DEBUG (MainThread) [custom_components.tuya_local.device] Setting protocol version for Neptun smart to 3.3
2025-08-04 00:04:53.897 DEBUG (SyncWorker_7) [custom_components.tuya_local.device] Neptun smart refreshed device state: {"Error": "Unexpected Payload from Device", "Err": "904", "Payload": null}
2025-08-04 00:04:53.897 DEBUG (SyncWorker_7) [custom_components.tuya_local.device] Neptun smart protocol error 904: Unexpected Payload from Device
2025-08-04 00:04:53.899 DEBUG (MainThread) [custom_components.tuya_local.device] Setting protocol version for Neptun smart to 3.1
2025-08-04 00:04:53.932 DEBUG (SyncWorker_12) [custom_components.tuya_local.device] Neptun smart refreshed device state: {"Error": "Unexpected Payload from Device", "Err": "904", "Payload": ""}
2025-08-04 00:04:53.932 DEBUG (SyncWorker_12) [custom_components.tuya_local.device] Neptun smart protocol error 904: Unexpected Payload from Device
2025-08-04 00:04:53.934 DEBUG (MainThread) [custom_components.tuya_local.device] Setting protocol version for Neptun smart to 3.2
2025-08-04 00:04:56.288 DEBUG (SyncWorker_9) [custom_components.tuya_local.device] Neptun smart refreshed device state: {"dps": {"137": 17382, "101": false, "108": false, "109": true, "110": true}, "type": "query", "t": 1754255094}
2025-08-04 00:04:56.312 DEBUG (SyncWorker_6) [custom_components.tuya_local.helpers.device_config] Loaded device config neptun_smart_waterleak.yaml
2025-08-04 00:04:56.345 DEBUG (SyncWorker_10) [custom_components.tuya_local.helpers.device_config] Loaded device config neptun_smart_waterleak.yaml
2025-08-04 00:04:56.365 DEBUG (SyncWorker_2) [custom_components.tuya_local.helpers.device_config] Loaded device config neptun_smart_waterleak.yaml
2025-08-04 00:04:56.391 DEBUG (SyncWorker_1) [custom_components.tuya_local.helpers.device_config] Loaded device config neptun_smart_waterleak.yaml
2025-08-04 00:04:56.413 DEBUG (SyncWorker_3) [custom_components.tuya_local.helpers.device_config] Loaded device config neptun_smart_waterleak.yaml
2025-08-04 00:04:56.414 DEBUG (SyncWorker_0) [custom_components.tuya_local.helpers.device_config] Loaded device config neptun_smart_waterleak.yaml
2025-08-04 00:04:56.418 DEBUG (SyncWorker_7) [custom_components.tuya_local.helpers.device_config] Loaded device config neptun_smart_waterleak.yaml
2025-08-04 00:04:56.462 DEBUG (SyncWorker_8) [custom_components.tuya_local.helpers.device_config] Loaded device config neptun_smart_waterleak.yaml
2025-08-04 00:04:56.465 DEBUG (SyncWorker_4) [custom_components.tuya_local.helpers.device_config] Loaded device config neptun_smart_waterleak.yaml
2025-08-04 00:05:06.824 DEBUG (MainThread) [custom_components.tuya_local.device] Starting monitor loop for Neptun smart
2025-08-04 00:05:10.882 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"114": "AwMDAw==", "full_poll": false}
2025-08-04 00:05:11.018 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"122": "AQAAQ+YKAAABAAAfjgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAERcKAAABAAASTAoAAA==", "full_poll": false}
2025-08-04 00:05:11.134 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"137": 17382, "full_poll": false}
2025-08-04 00:05:11.250 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"138": 8078, "full_poll": false}
2025-08-04 00:05:11.366 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"139": 0, "full_poll": false}
2025-08-04 00:05:11.483 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"140": 0, "full_poll": false}
2025-08-04 00:05:11.599 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"141": 0, "full_poll": false}
2025-08-04 00:05:11.716 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"142": 0, "full_poll": false}
2025-08-04 00:05:11.833 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"143": 4375, "full_poll": false}
2025-08-04 00:05:11.957 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"144": 4684, "full_poll": false}
2025-08-04 00:05:12.073 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"145": "BAEFBA==", "full_poll": false}
2025-08-04 00:05:25.889 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"114": "AwMDAw==", "full_poll": false}
2025-08-04 00:05:26.073 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"122": "AQAAQ+YKAAABAAAfjgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAERcKAAABAAASTAoAAA==", "full_poll": false}
2025-08-04 00:05:26.188 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"137": 17382, "full_poll": false}
2025-08-04 00:05:26.303 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"138": 8078, "full_poll": false}
2025-08-04 00:05:26.419 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"139": 0, "full_poll": false}
2025-08-04 00:05:26.535 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"140": 0, "full_poll": false}
2025-08-04 00:05:26.650 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"141": 0, "full_poll": false}
2025-08-04 00:05:26.766 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"142": 0, "full_poll": false}
2025-08-04 00:05:26.881 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"143": 4375, "full_poll": false}
2025-08-04 00:05:26.996 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"144": 4684, "full_poll": false}
2025-08-04 00:05:27.112 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"145": "BAEFBA==", "full_poll": false}
2025-08-04 00:05:40.977 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"114": "AwMDAw==", "full_poll": false}
2025-08-04 00:05:41.093 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"122": "AQAAQ+YKAAABAAAfjgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAERcKAAABAAASTAoAAA==", "full_poll": false}
2025-08-04 00:05:41.209 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"137": 17382, "full_poll": false}
2025-08-04 00:05:41.325 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"138": 8078, "full_poll": false}
2025-08-04 00:05:41.439 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"139": 0, "full_poll": false}
2025-08-04 00:05:41.555 DEBUG (MainThread) [custom_components.tuya_local.device] Neptun smart received {"140": 0, "full_poll": false}

second, for all counters (dps 137-144) I would suggest mapping with a scale of 1000 due to the fact that cubic meters should be returned with an accuracy of thousandths

Image Image Image Image

spbdimka avatar Aug 03 '25 21:08 spbdimka