fhempy: tuya (lokal)

Begonnen von dominik, 26 April 2022, 19:12:25

Vorheriges Thema - Nächstes Thema

dominik

Wenn sich der Wert ändert, schick mir bitte mehrer (ca. 5) dp_06 Wert und poste die zugehören Werte aus der App, damit ich weiß welcher Wert sich dahinter befinden sollte.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

python3 convert.py CT8ABsIAAZo=
0000 1001 0011 1111 0000 0000 0000 0110 1100 0010 0000 0000 0000 0001 1001 1010 0011 1101

1001 0011 1111 = 236,7 Volt
0110 1100 0010 = 1.730 Ampere
0001 1001 1010 = 410 Watt

Das kommt ziemlich gut hin, weil 236.7 * 1.730 ergibt ca. 410 Watt.

Das Problem ist nun nur mehr, dass das ganze Device spezifisch ist. D.h. ich muss es wahrscheinlich anhand der Device Category (zndb) festlegen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

satprofi

Zitat von: dominik am 06 August 2022, 12:41:50
Ja, genau. Geht das Log noch weiter? Auch das Traceback zur Smart_Bubl wäre noch interessant, da dort ein Fehler mit "result" aufgetreten ist.

Sehe ich richtig, dass phase_a jetzt den Wert 6 bekommen hat?

phase_a  hab ich manuel kurz angelegt.
die smart bulb is offline, deshalb fehler.  habe den smartmeter nie in der cloud, ausser über die app.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

satprofi

Zitat von: dominik am 06 August 2022, 13:15:38
python3 convert.py CT8ABsIAAZo=
0000 1001 0011 1111 0000 0000 0000 0110 1100 0010 0000 0000 0000 0001 1001 1010 0011 1101

1001 0011 1111 = 236,7 Volt
0110 1100 0010 = 1.730 Ampere
0001 1001 1010 = 410 Watt

Das kommt ziemlich gut hin, weil 236.7 * 1.730 ergibt ca. 410 Watt.

Das Problem ist nun nur mehr, dass das ganze Device spezifisch ist. D.h. ich muss es wahrscheinlich anhand der Device Category (zndb) festlegen.

soweit war ich auch schon,  nur den binärcode wusste ich nicht aufzubröseln.
kann man nicht ein userreading mit deinem convert anlegen?
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

dominik

Können ja, aber das wird lang. Ich baue den Converter mal für das dir Device Category ein, dann kannst du testen. Hast du nur eine Phase, oder mehrere?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

satprofi

gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Konfusius

#156
Das selbe Problem habe ich auch gerade, witzig...

Was für ein Format ist diese Zeichenkette eigentlich, die hier dekodiert wird?

dominik

Jeder Buchstabe sind 6 Bit.
A=000000
Man muss also jeden Buchstaben in Bit umwandeln und danach die Bytes bilden.
Aus AB wird
000000 000001
=> 0000 0000 0001
=> 0x0 0x0 0x1

Wie viele Bytes zusammen einen Wert bilden muss man dann einfach ausprobieren.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Bitte Version 387 testen, ist in ein paar Minuten online.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Konfusius

Update gemacht, muss ich das Device löschen und neu anlegen lassen?

dominik

Nein, nur fhempy Neustart
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Konfusius

Bei mir sieht es aus wie vorher. Immer noch das dp_06 Reading mit Zeichenkette.
Was ist geändert worden?
Mein Device ist identisch wie das vom satprofi, natürlich andere IDs, logisch

dominik

Devices mit Category zndb sollten beim dp_id = 6 auf das richtige Format konvertiert werden und
phase_a_voltage
phase_a_power
phase_a_current
als Reading angezeigt werden.

Poste bitte dein list (API Keys loeschen) und schau bitte im fhempy Log ob Fehler vorliegen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Konfusius

#163
ja gern, Type ist zndb, keine Errors im Logfile
fhempy log ? Finde ich auch bei Everything nicht?
FHEMPYTYPE tuya
   FUUID      62ee69ca-f33f-e8a0-7cbc-7e0b9b1d196b29fd
   IODev      pyBinding
   NAME       SmartMeter
   NR         36
   PYTHONTYPE tuya
   STATE      1:on
2:online
   TYPE       fhempy
   eventCount 6
   READINGS:
     2022-08-06 21:26:49   active_time     1659786729
     2022-08-06 21:26:50   balance_energy  0.0
     2022-08-06 21:26:49   biz_type        18
     2022-08-06 21:26:49   category        zndb
     2022-08-06 21:26:49   create_time     1657902594
     2022-08-06 21:56:20   dp_06           CTgAAIwAABA=
     2022-08-06 21:26:50   fault           0
     2022-08-06 21:27:48   forward_energy_total 2.97
     2022-08-06 21:26:49   icon            smart/icon/ay1536897190133VVeLx/32346148448dd9829abb97ce317c5e82.png
     2022-08-06 21:26:49   id              bf5e65db3d968xxxxxx
     2022-08-06 21:26:49   ip              79.140.124.172
     2022-08-06 21:26:49   lat             52.3021
     2022-08-06 21:26:49   local_key       4682e6f9063b6557
     2022-08-06 21:26:49   lon             13.3815
     2022-08-06 21:26:49   name            WLAN-Smart-Meter
     2022-08-06 21:26:49   online          1
     2022-08-06 21:26:49   owner_id        61284962
     2022-08-06 21:26:49   product_id      nqbs1onwsxxxxxxx
     2022-08-06 21:26:49   product_name    wifi smart meter
     2022-08-06 21:43:40   state           online
     2022-08-06 21:26:49   sub             0
     2022-08-06 21:36:09   switch          on
     2022-08-06 21:26:50   switch_prepayment off
     2022-08-06 21:26:49   time_zone       +02:00
     2022-08-06 21:26:49   uid             eu1657898201652WRB6r
     2022-08-06 21:26:49   update_time     1659786729
     2022-08-06 21:26:49   uuid            dd835e4cd9f1ce8c
   args:
     SmartMeter
     fhempy
     tuya
     nqbs1onwsxxxxxx
     bf5e65db3d968eyyyyy
     192.168.19.31
     4682e6f906123456
     3.3
     hrdphtup7mxxxxxxxx
     fed25485277f4325afa37f42bbbbbbb
   argsh:
Attributes:
   devStateIcon 1.on:on 1.off:off@blue
2.online:on@yellow 2.offline:off@red
   dp_01      forward_energy_total
   dp_10      fault
   dp_12      switch_prepayment
   dp_13      balance_energy
   dp_16      switch
   group      tuya
   room       Arbeitszimmer
   stateFormat 1:switch
2:state
   tuya_spec_functions [{'code': 'switch_prepayment', 'dp_id': 12, 'type': 'Boolean', 'values': '{}', 'desc': 'switch prepayment'}, {'code': 'clear_energy', 'dp_id': 14, 'type': 'Boolean', 'values': '{}', 'desc': 'clear energy'}, {'code': 'charge_energy', 'dp_id': 15, 'type': 'Integer', 'values': '{"unit":"kW·h","min":0,"max":50000,"scale":0,"step":1}', 'desc': 'charge energy'}, {'code': 'switch', 'dp_id': 16, 'type': 'Boolean', 'values': '{}', 'desc': 'switch'}, {'code': 'alarm_set_2', 'dp_id': 17, 'type': 'Json', 'values': '{}', 'desc': 'alarm set 2'}, {'code': 'event_clear', 'dp_id': 20, 'type': 'Boolean', 'values': '{}', 'desc': 'event clear'}]
   tuya_spec_status [{'code': 'forward_energy_total', 'dp_id': 1, 'type': 'Integer', 'values': '{"unit":"kW·h","min":0,"max":99999999,"scale":2,"step":1}'}, {'code': 'phase_a', 'dp_id': 6, 'type': 'Json', 'values': '{}'}, {'code': 'fault', 'dp_id': 10, 'type': 'Bitmap', 'values': '{"label":["ov_cr","unbalance_alarm","ov_vol","undervoltage_alarm","miss_phase_alarm","outage_alarm","magnetism_alarm","terminal_alarm","cover_alarm","credit_alarm","no_balance_alarm","battery_alarm","meter_hardware_alarm"]}'}, {'code': 'switch_prepayment', 'dp_id': 12, 'type': 'Boolean', 'values': '{}'}, {'code': 'balance_energy', 'dp_id': 13, 'type': 'Integer', 'values': '{"unit":"kW·h","min":0,"max":99999999,"scale":2,"step":1}'}, {'code': 'clear_energy', 'dp_id': 14, 'type': 'Boolean', 'values': '{}'}, {'code': 'charge_energy', 'dp_id': 15, 'type': 'Integer', 'values': '{"unit":"kW·h","min":0,"max":50000,"scale":0,"step":1}'}, {'code': 'switch', 'dp_id': 16, 'type': 'Boolean', 'values': '{}'}, {'code': 'alarm_set_2', 'dp_id': 17, 'type': 'Json', 'values': '{}'}, {'code': 'event_clear', 'dp_id': 20, 'type': 'Boolean', 'values': '{}'}]
   webCmd     switch on:switch off

dominik

/opt/fhem/log/fhempy....log

Interessant, dass jedoch dp_06 aktualisiert wird. Bist du sicher auf 0.1.388?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik