sanlike0911 / node-red-contrib-tplink-tapo-connect-api

Apache License 2.0
48 stars 20 forks source link

TapoEnergyUsage Object not returned for P110 Plug #25

Open kevinmarchant opened 1 year ago

kevinmarchant commented 1 year ago

Hi, I now have a couple of P110 Tapo plugs and wish to query their power consumption data. Power monitoring is working well in the Tapo App.,

I am not receiving TapoEnergyUsage object as a part of a status query. Here is the entire "complete message object" returned by the status node.

Could it be a bug/regression or is it a problem with firmware 1.1.6 ?

Kevin

18/01/2023, 14:22:01node: debug 1 msg : Object object _msgid: "2f9770dd5bc7f1af" payload: object result: true tapoDeviceInfo: object device_id: "80221579A474542584D19D25F33AF0F72058F29A" fw_ver: "1.1.6 Build 221114 Rel.203339" hw_ver: "1.0" type: "SMART.TAPOPLUG" model: "P110" mac: "xx-xx-xx-xx-xx-xx" hw_id: "56DD079101D61D400A11C4A3D41C51DA" fw_id: "00000000000000000000000000000000" oem_id: "AE7B616A7168B34151ABBCF86C88DF34" ip: "192.168.xx.xxx" time_diff: 0 ssid: "xxxxxxxx" rssi: -25 signal_level: 3 latitude: xxxxxxxx longitude: xxxxxxxx lang: "en_US" avatar: "egg_boiler" region: "Europe/London" specs: "" nickname: "xxxxxxxx" has_set_location_info: true device_on: true on_time: 4375 default_states: object type: "last_states" state: object empty overheated: false power_protection_status: "normal" topic: ""

sanlike0911 commented 1 year ago

Hi. Thank you for using this node-red-contrib-tplink-tapo-connect-api. I will investigate this issue.

sanlike0911.

pllera commented 1 year ago

Hi, same for me.

I have tried with FW 1.1.5 and 1.1.6 but neither returns TapoEnergyUsage PLEASE HELP !!!

{"result":true,"tapoDeviceInfo":{"device_id":"8022237A0DD3FBE02E9FE5A76474BEEF20A38F3D","fw_ver":"1.1.5 Build 221109 Rel.125117","hw_ver":"1.0","type":"SMART.TAPOPLUG","model":"P110","mac":"30-DE-4B-36-A2-B8","hw_id":"2FB30EF5BF920C44099401D396C6B55B","fw_id":"00000000000000000000000000000000","oem_id":"18BDC6C734AF8407B3EF871EACFCECF5","ip":"192.168.1.114","time_diff":60,"ssid":"Livebox6+","rssi":-57,"signal_level":2,"latitude":0,"longitude":0,"lang":"es_ES","avatar":"plug","region":"Europe/Madrid","specs":"","nickname":"Minero-2B","has_set_location_info":false,"device_on":true,"on_time":157,"default_states":{"type":"last_states","state":{}},"overheated":false,"power_protection_status":"normal"}}

pllera commented 1 year ago

Hi, testing, trying, re-testing and investigating, ant then DISCOVERED A WORKAROUND for this issue !!!...

Use Command box with "status" command (without quotes). The payload from this, returns the TapoDeviceInfo object but also the missing tapoEnergyUsage object. By the way, the power units come in milliwatts (you need to /1000)

Hope this will help in discovering the bug. Best regards from Seville SPAIN.

USING STATUS BOX: tapoDeviceInfo: object device_id: "8022168BEDECE32F3B97DF9AE8E7DC1220A3A984" fw_ver: "1.1.6 Build 221114 Rel.203339" hw_ver: "1.0" type: "SMART.TAPOPLUG" model: "P110" mac: "30-DE-4B-36-76-B2" hw_id: "2FB30EF5BF920C44099401D396C6B55B" fw_id: "00000000000000000000000000000000" oem_id: "18BDC6C734AF8407B3EF871EACFCECF5" ip: "192.168.1.113" time_diff: 60 ssid: "Livebox6+" rssi: -57 signal_level: 2 latitude: 0 longitude: 0 lang: "es_ES" avatar: "plug" region: "Europe/Madrid" specs: "" nickname: "Minero-2" has_set_location_info: false device_on: true on_time: 858 default_states: object overheated: false power_protection_status: "normal"

USING COMMAND status: tapoDeviceInfo: object device_id: "8022168BEDECE32F3B97DF9AE8E7DC1220A3A984" fw_ver: "1.1.6 Build 221114 Rel.203339" hw_ver: "1.0" type: "SMART.TAPOPLUG" model: "P110" mac: "30-DE-4B-36-76-B2" hw_id: "2FB30EF5BF920C44099401D396C6B55B" fw_id: "00000000000000000000000000000000" oem_id: "18BDC6C734AF8407B3EF871EACFCECF5" ip: "192.168.1.113" time_diff: 60 ssid: "Livebox6+" rssi: -57 signal_level: 2 latitude: 0 longitude: 0 lang: "es_ES" avatar: "plug" region: "Europe/Madrid" specs: "" nickname: "Minero-2" has_set_location_info: false device_on: true on_time: 858 default_states: object overheated: false power_protection_status: "normal" tapoEnergyUsage: object today_runtime: 4 month_runtime: 145 today_energy: 47 month_energy: 923 local_time: "2023-03-29 00:04:12" electricity_charge: array[3] current_power: 673282

kevinmarchant commented 1 year ago

@pllera

I've just retested and for my setup it DOES work through both the status node and the command nodes as long as I use IP mode and not alias mode. IP mode returns both the tapoDeviceInfo and tapoEnergyUsage objects - which is great. Alias mode only returns the tapoDeviceInfo object.

@sanlike0911 I wonder now if I wasn't thorough enough in January to refine the problem down to this aspect.

I'm using

pllera commented 1 year ago

@pllera

I've just retested and for my setup it DOES work through both the status node and the command nodes as long as I use IP mode and not alias mode. IP mode returns both the tapoDeviceInfo and tapoEnergyUsage objects - which is great. Alias mode only returns the tapoDeviceInfo object.

@sanlike0911 I wonder now if I wasn't thorough enough in January to refine the problem down to this aspect.

I'm using

  • P110 firmware 1.2.1 Build 230217 Rel.171232.
  • node.js node-v18.15.0-x64.msi
  • NodeRed 3.0.2

Hi Kevin, thanks a lot for sharing your discoverings !!! I have the same results as you: only on "IP mode" TapoEnergyUsage object appears.

My data: Tapo P110 fw_ver: "1.1.6 Build 221114 Rel.203339" NodeRed 2.0.6