Hallo zusammen,
ich habe mir einen Sonoff pow r2 zur Leistungsmessung meiner Plugin PV Anlage angeschafft und kämpfe jetzt mit der Einbindung in FHEM.
Zunächst habe ich das Device geflast und Tasmota aufgespielt.
Dann mit
define MQTT MQTT2_SERVER 1883 global
eine MQTT Server Instanz kreiert und Autocreate auf 1 gesetzt.
Soweit so gut.
Es wurde dann auch ein Device angelegt und ich habe das POW Template auf das Device angelegt.
Ich kann das Ding auch zuverlässig schalten, nur kommen die Readings nicht wirklich zuverlässig an.
Ich schalte also beispielsweise eine Glühbirne, das Licht geht an, aber die Readings werden nicht aktualisiert. Die Leistungsaufnahme bleibt beispielsweise auf 0.
Ein list ergibt für mein Device folgende Ausgabe:
CFGFN
CID DVES_1B02DF
DEF DVES_1B02DF
DEVICETOPIC MQTT2_DVES_1B02DF
FUUID 5d794ff4-f33f-5d4b-9d0a-25d0cec4a2a5f523
IODev MQTT
LASTInputDev MQTT
MQTT_MSGCNT 32
MQTT_TIME 2019-09-11 22:27:04
MSGCNT 32
NAME MQTT2_DVES_1B02DF
NR 381
STATE aktuell: 58.0 W Tag: 0.01 kWh Gestern: 0.000 kWh Gesamt: 0.0150 kWh
TYPE MQTT2_DEVICE
OLDREADINGS:
READINGS:
2019-09-11 22:25:42 ENERGY_ApparentPower 58
2019-09-11 22:25:42 ENERGY_Current 0.257
2019-09-11 22:25:42 ENERGY_Factor 0.99
2019-09-11 22:25:42 ENERGY_Period 3
2019-09-11 22:25:42 ENERGY_Power 58
2019-09-11 22:25:42 ENERGY_ReactivePower 0
2019-09-11 22:25:42 ENERGY_Today 0.015
2019-09-11 22:25:42 ENERGY_Total 0.015
2019-09-11 22:25:42 ENERGY_TotalStartTime 2019-09-08T22:08:58
2019-09-11 22:25:42 ENERGY_Voltage 227
2019-09-11 22:25:42 ENERGY_Yesterday 0.000
2019-09-11 22:25:42 Heap 19
2019-09-11 22:25:42 LoadAvg 19
2019-09-11 22:27:04 POWER1 off
2019-09-11 22:12:52 SaveData on
2019-09-11 22:12:52 SetOption26 on
2019-09-11 22:25:42 Sleep 50
2019-09-11 22:25:42 SleepMode Dynamic
2019-09-11 22:12:51 StateText1 off
2019-09-11 22:12:51 StateText2 on
2019-09-11 22:12:51 StateText3 toggle
2019-09-11 22:12:52 StateText4 hold
2019-09-11 22:25:42 Time 2019-09-11T21:25:42
2019-09-11 22:25:42 Uptime 0T00:15:19
2019-09-11 22:25:42 Wifi_AP 1
2019-09-11 22:25:42 Wifi_BSSId 34:81:C4:25:9E:51
2019-09-11 22:25:42 Wifi_Channel 6
2019-09-11 22:25:42 Wifi_Downtime 0T00:00:06
2019-09-11 22:25:42 Wifi_LinkCount 1
2019-09-11 22:25:42 Wifi_RSSI 66
2019-09-11 22:25:42 Wifi_SSId KellerLoch
2019-09-11 22:27:04 state set_off
Attributes:
IODev MQTT
alias MQTT2_DVES_1B02DF
autocreate 0
devStateIcon {my $onl = ReadingsVal($name,"LWT","false") eq "Online"?"10px-kreis-gruen":"10px-kreis-rot";; my $light = ReadingsVal($name,"state","off");;"<a href=\"http://".ReadingsVal($name,"IPAddress","none")." \"target=\"_blank\">".FW_makeImage($onl)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a> uptime: ".ReadingsVal($name,"Uptime",undef).sprintf(" aktuell: %.1f W Tag: %.2f kWh Gestern: %.3f kWh Gesamt: %.4f kWh", ReadingsVal($name,"ENERGY_Power",undef), ReadingsVal($name,"ENERGY_Today",undef), ReadingsVal($name,"ENERGY_Yesterday",undef), ReadingsVal($name,"ENERGY_Total",undef))}
model A_01c_tasmota_POW
readingList tele/DVES_1B02DF/LWT:.* LWT
tele/DVES_1B02DF/STATE:.* { json2nameValue($EVENT) }
tele/DVES_1B02DF/SENSOR:.* { json2nameValue($EVENT) }
tele/DVES_1B02DF/INFO.:.* { json2nameValue($EVENT) }
stat/DVES_1B02DF/RESULT:.* { json2nameValue($EVENT) }
room MQTT2_DEVICE
setList off:noArg cmnd/DVES_1B02DF/POWER1 0
on:noArg cmnd/DVES_1B02DF/POWER1 1
toggle:noArg cmnd/DVES_1B02DF/POWER1 2
setStateList on off toggle
stateFormat {sprintf("aktuell: %.1f W Tag: %.2f kWh Gestern: %.3f kWh Gesamt: %.4f kWh", ReadingsVal($name,"ENERGY_Power",undef), ReadingsVal($name,"ENERGY_Today",undef), ReadingsVal($name,"ENERGY_Yesterday",undef), ReadingsVal($name,"ENERGY_Total",undef))}
webCmd :
Ich hoffe Ihr könnt mir weiterhelfen.
Danke und Grüße
sibewald
Wahrscheinlich musst du die Tlemetrie Periode im Configure Logging auf der Tasmota Oberfläche anpassen.
Nur mal kurz vom Smartphone...
M.E. widerspricht sich das etwas:
Zitat von: sibewald am 11 September 2019, 22:42:35
Ich kann das Ding auch zuverlässig schalten, nur kommen die Readings nicht wirklich zuverlässig an.
Ich schalte also beispielsweise eine Glühbirne, das Licht geht an, aber die Readings werden nicht aktualisiert. Die Leistungsaufnahme bleibt beispielsweise auf 0.
2019-09-11 22:27:04 state set_off
Da kommt also auch die Rückmeldung nicht, dass ausgeschaltet wurde... Wäre ein arger Zufall, wenn du grade das list gemacht hättest in den paar Millisekunden, die das normalerweise dauert, bis "off" zurückkommt ::) .
Bist du sicher, dass die WLAN-Verbindung wirklich zuverlässig läuft?
Also bei mein pow schaut das List anders aus
Ist aber auch auf meine Bedürfnisse zugeschnitten.
Internals:
CID sonoffPow1
DEF sonoffPow1
DEVICETOPIC sonoff_Waeschetrockner
FUUID 5c4f38e4-f33f-9f3d-89b6-78725c1862e62fe2
IODev MQTT2_Broker
LASTInputDev MQTT2_Broker
MQTT2_Broker_MSGCNT 2745
MQTT2_Broker_TIME 2019-09-12 09:53:35
MSGCNT 2745
NAME sonoff_Waeschetrockner
NR 83
STATE <a href="http://192.168.1.190" target="_blank">
Online
</a>
1:on
uptime: 51T20:22:38
<br>
aktuell: 0 W
Tag: 0.000 kWh
Gestern: 0.000 kWh
Gesamt: 179.935 kWh
TYPE MQTT2_DEVICE
READINGS:
2019-09-12 09:53:35 ENERGY_ApparentPower 0
2019-09-12 09:53:35 ENERGY_Current 0.000
2019-09-12 09:53:35 ENERGY_Factor 0.00
2019-09-12 09:53:35 ENERGY_Period 0
2019-09-12 09:53:35 ENERGY_Power 0
2019-09-12 09:53:35 ENERGY_ReactivePower 0
2019-09-12 09:53:35 ENERGY_Today 0.000
2019-09-12 09:53:35 ENERGY_Total 179.935
2019-09-12 09:53:35 ENERGY_TotalStartTime 2019-01-28T17:54:21
2019-09-12 09:53:35 ENERGY_Voltage 232
2019-09-12 09:53:35 ENERGY_Yesterday 0.000
2019-07-22 13:32:37 FallbackTopic cmnd/sonoffPow1_fb/
2019-07-22 13:32:37 GroupTopic sonoffs
2019-09-12 09:53:35 Heap 18
2019-07-22 13:32:37 Hostname SonOff-Pow1
2019-07-22 13:32:37 IPAddress 192.168.1.190
2019-09-12 05:36:22 LWT Online
2019-09-12 09:53:35 LoadAvg 19
2019-07-22 13:32:37 Module Sonoff Pow R2
2019-07-18 09:16:42 OtaUrl http://thehackbox.org/tasmota/release/sonoff-basic.bin
2019-09-12 05:36:22 POWER
2019-09-12 09:53:35 POWER1 on
2019-07-22 13:32:37 RestartReason Power on
2019-05-17 11:19:23 SaveData on
2019-05-17 11:19:23 SetOption26 on
2019-09-12 09:53:35 Sleep 50
2019-09-12 09:53:35 SleepMode Dynamic
2019-05-17 11:19:22 StateText1 off
2019-05-17 11:19:22 StateText2 on
2019-05-17 11:19:22 StateText3 toggle
2019-05-17 11:19:23 StateText4 hold
2019-09-12 09:53:35 Time 2019-09-12T08:53:35
2019-07-18 09:17:02 UPGRADE Successful. Restarting
2019-07-18 09:16:42 Upgrade Version 6.5.0 from http://thehackbox.org/tasmota/release/sonoff-basic.bin
2019-09-12 09:53:35 Uptime 51T20:22:38
2019-09-12 09:53:35 Vcc 3.193
2019-07-22 13:32:37 Version 6.6.0(release-basic)
2019-07-22 13:32:37 WebServerMode Admin
2019-09-12 09:53:35 Wifi_AP 1
2019-09-12 09:53:35 Wifi_BSSId 7C:FF:4D:EC:69:23
2019-09-12 09:53:35 Wifi_Channel 11
2019-09-12 09:53:35 Wifi_Downtime 0T00:05:29
2019-09-12 09:53:35 Wifi_LinkCount 47
2019-09-12 09:53:35 Wifi_RSSI 22
2019-09-12 09:53:35 Wifi_SSId 1
Attributes:
IODev MQTT2_Broker
devStateIcon Online:10px-kreis-gruen Offline:10px-kreis-rot 1.on:on:POWER1+off 1.off:off:POWER1+on
group Trockner
model A_01c_tasmota_POW
readingList tele/sonoffPOW1/LWT:.* LWT
tele/sonoffPOW1/STATE:.* { json2nameValue($EVENT) }
tele/sonoffPOW1/SENSOR:.* { json2nameValue($EVENT) }
tele/sonoffPOW1/INFO.:.* { json2nameValue($EVENT) }
stat/sonoffPOW1/RESULT:.* { json2nameValue($EVENT) }
sonoffPow1:stat/sonoffPOW1/POWER1:.* POWER1
sonoffPow1:tele/sonoffPOW1/UPTIME:.* { json2nameValue($EVENT) }
sonoffPow1:cmnd/sonoffPOW1/POWER:.* POWER
sonoffPow1:stat/sonoffPOW1/UPGRADE:.* UPGRADE
room Waschkueche
setList POWER1:on,off,toggle cmnd/sonoffPOW1/POWER1 $EVTPART1
setStateList on off toggle
sortby 1
stateFormat <a href="http://IPAddress" target="_blank">
LWT
</a>
1:POWER1
uptime: Uptime
<br>
aktuell: ENERGY_Power W
Tag: ENERGY_Today kWh
Gestern: ENERGY_Yesterday kWh
Gesamt: ENERGY_Total kWh
webCmd POWER1
Hast du mal den pow neu gestartet?
Hallo zusammen,
erst mal vielen Dank für Eure Hilfe.
Speziell danke an DasQ. Dein List hat mir sehr geholfen zu verstehen, wie das Ganze funktioniert und mein Device sieht jetzt auch viel besser aus :-)
Das Problem hat es aber nicht gelöst.
Ich habe dann auch etwas in den Einstellungen im Configure Logging des Devices mit der Telemetrieperiode. (Danke an Skusi!)
Die war bei mir auf 300 und hat dafür gesorgt, dass ich nur alle 5 Minuten eine Rückmeldung bekomme. Stelle ich das Intervall kürzer ein, kommen die Meldungen schon schneller.
Das Einzige, was mir jetzt noch fehlt, wäre ein Empfangen der Daten bei Änderung. Geht das irgendwie oder habe ich einen Denkfehler?
Danke
sibewald
Wenn der POW was sendet, sollte das auch ausgewertet werden. Es kommt also ziemlich sicher nichts an, wie bereits angemerkt.
Ich finde es sinnvoll, bei einem einkanaligen Device "POWER1" zu nutzen, und das nicht in "state" umzuleiten, wie das template das macht. Dann "kann" man auch "on-for-timer" usw..
Wenn es Änderungswünsche/Vorschläge zu dem template gibt, weil irgendwas nicht funktioniert: Bitte melden. (Aber wie gesagt: da ist m.E. irgendwo ein (technisches) Kommunikationsproblem, das du lösen mußt, mit FHEM/MQTT hat das wenig zu tun.)
Also in deim oberen List sind doch die empfangen werte. Oder seh ich da was falsch?
2019-09-11 22:25:42 ENERGY_ApparentPower 58
2019-09-11 22:25:42 ENERGY_Current 0.257
2019-09-11 22:25:42 ENERGY_Factor 0.99
2019-09-11 22:25:42 ENERGY_Period 3
2019-09-11 22:25:42 ENERGY_Power 58
2019-09-1
Mir ist jetzt nicht so ganz klar was du mit dem empfangen meinst?
Also bei mir, wenn die Waschmaschine läuft ist was weis ich, alle 10 Sekunden eine Aktualisierung. Realtime macht bei einem Verbraucher wie einer Waschmaschine keinen Sinn und Müllt nur unnötig den log voll.
Wie das jetzt bei einer Photovoltaikanlage ist kann ich nicht sagen, aber ich denk das ist eher linear, also ,,verändert" sich nicht soviel, ggf ist das ja dein Problem.
Hallöchen,
ich bin nicht sicher, ob ich Dein Problem richtig verstanden habe, aber wenn ich es richtig sehe, werden nicht alle readings aktualisiert. Weshalb Du eine unvollständige Kommunikation mit dem Sonoff Teil hast. Ich hab bei mir einige Dinger laufen und es dauert ein wenig, aber vor allem hat in einem ähnlichen Fall wie Du ihn hast. folgendes geholfen:
autocreate ==> 1
Zusätzlich ein wenig Power1 hin und her schalten und Geduld. Dann kommen noch mehr Readings dazu ;)
Wenn wir schon mal bei allgemeinen Tipps sind:
- wenn ich eine neues (Tasmota) Gerät anlege nehme ich immer erst das Template: A_01z_tasmota_set_lowercase_texts_and_state1 danach erst das benötigte. Hat den oben schon mal erwähnten Vorteil, dass auch bei nur einem Relais die Funktion sich immer in "POWER1" und nicht mal in POWER mal in POWER1 versteckt. Zusätzlich werden viele Sachen einheitlich geschrieben, keine "Anfänger" Probleme mit Groß Klein Schreibung. Die Sonoff Teile sind alle gleich, aber darüber hinaus gibt es ja noch mehr was von Tasmota unterstützt wird und genial ist.
- Meiner Meinung nach ist dein stateformat sehr umständlich:
POWER1
<br>
Aktuell: ENERGY_Power W
<br>
Heute: ENERGY_Today kWh
<br>
Gestern: ENERGY_Yesterday kWh
<br>
Gesamt: ENERGY_Total kWh
So und ähnlich sehen meine aus. Ausgabe sieht dann so aus als bsp:
#ICON#
Aktuell: 0 W
Heute: 0.000 kWh
Gestern: 3.143 kWh
Gesamt: 10.731 kWh
(Ja man könnte den Punkt in Komma ändern, stört mich aber nicht, ich weiss dass ich gestern keine 3143 sondern 3,143 kWh verbraucht habe an der Stelle ;) )
ZitatIch finde es sinnvoll, bei einem einkanaligen Device "POWER1" zu nutzen, und das nicht in "state" umzuleiten, wie das template das macht. Dann "kann" man auch "on-for-timer" usw..
Das kann ich nur bestätigen: Von Anfang an daran gewöhnt, funktionieren viele Sachen und die stateformat sehen in jedem Device gleich aus. Hilft sehr beim automatisieren mit Notifys oä. Und wenn man immer alles gleich macht, muss man beim erstellen eines ersten notifys nicht auf einmal alle Tasmota geräte ändern / anpassen ;) (*in Erinnerungen ein paar Monate zurück schwelg* gg* )
Vielleicht hilft Dir das für den Anfang ein wenig :)
Grüße
Andreas
Weiss nicht ob das noch interessant ist, aber beim tasmota kann man mit "SetOption59 1" erreichen, dass auf ein COMMAND immer mit einem State / Sensor geantwortet wird. Dadurch hast du das update der Readings gleich und abhängig von der eingestellen TelePeriod.
Gruß S.
weiterer tipp ist:
PowerDelta 101
In der Web-Console auf dem Tasmota device eingeben -nur damit konfiguriert man Telemetrie updates bei powerverbauch Änderung ein, hier steht 101 für 1 Watt - mehr -> siehe Tasmota doku.