Shelly 3 EM

Begonnen von Astrofreak85, 07 Juni 2020, 18:05:03

Vorheriges Thema - Nächstes Thema

Astrofreak85

naja, für mich genügt es, geht sicherlich schicker, keine Frage, ich seh aber erstmal aufn ersten blick, dass was MICH interessiert.
Aber das is ja das schöne an FHEM, kann sich jeder so baue wir er es braucht...und ich hab vor allem auch mal wieder was gelernt ;)

Beta-User

Zitat von: Astrofreak85 am 09 Juni 2020, 14:11:22
"Trigger"?
"Meine" userReadings-Vorschläge sehen so aus:
emeter_0_energy_total:emeter_0_energy:.* monotonic {ReadingsNum("$name","emeter_0_energy",0)}
Bitte vergleichen und commandref konsultieren ;) .

(Und dann vermutlich infolge des Hinweises von pah komplett entsorgen bzw. anders gestalten (je nachdem, ob der energy-Wert persistent ist; abweichend zum üblichen Shelly-Verhalten ist es dieser hier vermutlich).

ZitatAlso jetzt sieht es bei mir so aus, und ja das is schon ziemlich schick...
Na ja, eine Tabelle (Icons gesondert auf der linken Seite) samt Formatierung der Ausrichtung ist das noch nicht, aber die Tendenz ist erkennbar, und m.E. ist es lesbarer als alles in einer Zeile... (und Rom wurde nicht an einem Tag erbaut, und Professor wird man auch nicht an einem Tag ;) .)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Prof. Dr. Peter Henning

ZitatProfessor wird man auch nicht an einem Tag
Amen, Bruder, Amen.

LG

pah

Astrofreak85

#18
Hmm..also das Template zickt bei mir rum...
Die Abfrage nit dem Device-Namen kam einmal bei mir, nachdem ich die Änderungen rückgängig gemacht hatte und nochmal probiert hab, war das Feld weg, der andere Fehler bleibt

Beta-User

Also:
Das erste Dialogfeld mit der Namensabfrage kommt, wenn attrTemplate einen Parameter nicht auflösen kann; vermutlich war die readingList komplett gelöscht?
(Ansonsten sollte nur die Nachfrage kommen, ob das userReading angelegt werden soll, das ist soweit ok).

Dann ist ein set, wo ein attr sein sollte:
https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template#L1713
Korrigiere ich bei Gelegenheit, würde dann aber bitte auch den letzten Stand der Dinge zum Thema "hübsches" devStateIcon (und optimalerweise ein esbares stateFormat) einchecken. Bisher kenne ich Bilder...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Astrofreak85

#20
{my $onl = ReadingsVal($name,"online","false") eq "true"?"10px-kreis-gruen":"10px-kreis-rot";; my $light = ReadingsVal($name,"state","off");; my $cons1 = ReadingsVal($name,"emeter_0_power","unknown");; my $cons2 = ReadingsVal($name,"emeter_1_power","unknown");; my $cons3 = ReadingsVal($name,"emeter_2_power","unknown");; my $total1 = ReadingsVal($name,"emeter_0_kWh","unknown");; my $total2 = ReadingsVal($name,"emeter_1_kWh","unknown");; my $total3 = ReadingsVal($name,"emeter_2_kWh","unknown");; my $total_sum = $total1+$total2+$total3;; my $cons_sum = $cons1+$cons2+$cons3;; "<a href=\"http://".ReadingsVal($name,"ip","none")." \"target=\"_blank\">".FW_makeImage($onl)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a><div>P1: $cons1 W / Total P1: $total1 kWh<br>P2: $cons2 W / Total P2: $total2 kWh<br>P3: $cons3 W / Total P3: $total3 kWh<br>Summe:  $cons_sum W / $total_sum kWh</div>"}

Aber das passt glaube ich nicht ganz zu deinen readings (die bei mir nicht angelegt werden im moment...)

Die readings-list passt nicht die generiert wird...
Da steht
xxx/relay/0/energy:.* {'relay_0_kWh' => sprintf("%.2f",$EVENT/60/1000)}

richtig müsste da aber je Kanal stehen:

/emeter/0/total:.* {'emeter_0_kWh' => sprintf("%.2f",$EVENT/1000)}

Liegt wohl daran, weil das template auch das attribut "model" als "   
shelly1_w_energy_meassuring" setzt...?!

Beta-User

Na ja, das kannst du mit einem Editor korrigieren, oder (auf die Beibehaltung der Rechte achten)? Dann {AttrTemplate_Initialize()} ausführen, dann sollte es wieder gehen.

Was das Summenthema angeht: Was ist mit dem Hinweis von pah?
Zitat von: Prof. Dr. Peter Henning am 09 Juni 2020, 14:23:55
"energy" ist übrigens immer die über die Zeit integrierte Leistung.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Astrofreak85

Ah und da is nochwas faul...

Bindestrich und Unterstrich...

Beta-User

Mist, zu viel search+replace...

Zeile https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template#L1677:
attr DEVICE readingList shellies/DEVNAME/online:.* online\
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Astrofreak85

#24
die readingslist, sieht auch komisch aus...liegt vielleicht an dem selben Fehler?

edit...ja

allerdings sind in der jetzt generierten redingsList und in der setList vorn whitspaces, die da wohl nich hingehören, so werden die readings nicht generiert...wenn ich die lösche passt es

Astrofreak85

so...

jetzt hab ich readings mit "emeter_0_energy_total"
das sind aber Wmin/ je Zeiteinheit (?)

die Wh stehen in "emeter_0_total" (das /1000 sind dann kWh)

im state vom device steht nun dauerhaft "x_mqttcom"....?

Beta-User

So, die Fehlerchen sollten nach dem update heute weniger sein.

Generell hätte ich Wünsche:
1. Bitte da Text (z.B. list -r <devicename>) hier einstellen, wo es um Funktion geht und nicht um Optik (in code-Tags, da kannst du ggf. auch Seriennummern vorher mit search+replace ersetzen);
2. Du bist der mit dem Device und darfst ruhig selbst aktiver sein, was die Weiterentwicklung des templates angeht. Ein funktionierender attrTemplate-Vorschlag ist mit 100x lieber als ein anonymisierter screenshot.

Ungeklärt ist noch das mit der Gesamtsumme. Nach Lektüre der API gehe ich davon aus, das der Aktor selbst was liefert und denke, das ist auch kein "monotonic"-Fall.
Daher ist der Teil noch aus devStateIcon und stateFormat raus, und falls du nicht verstehst, was gemeint ist, solltest du bitte mal die Stichworte nachschlagen und die API (=Shelly-Hersteller-Webseite) zu Rate zu ziehen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Astrofreak85

Gesamtsumme in kWh zeigt er auf seiner Webseite an, gitb den aber per API aktuell nicht aus.

Im Grunde für ne gewisse statistische Auswertung wichtig sind ansich die Summierten kWh, quasi wie beim Stromzähler...
ggf. sogar mit Eingabe eines Offset, damit man den 3em mit dem Stromzähler "syncronisieren" kann...

Wobei das meines Erachtens Bestandteil der FW von dem Ding sein sollte...na mal sehen, ist ja auch noch ziemlich jung das Device

Astrofreak85

Grade mal das neue template getestet, ich hoffe ich komme die Tage mal noch bissl zum Bastelln...

Folgende Probleme (siehe auch Screenshoots):
- die "readingList": die erste Zeile wird "richtig" angelegt, alle weiteren sind mit zwei Leerzeichen eingerückt...
- selbes bei der setList
- durch die Einträge im "stateFormat" sind die Anzeigen dreifach da, wenn ich das Atribut lösche nurnoch einmal...
- die "Meldung" neben dem grünen Kreis "x_mqttcom" verstehe ich nicht, das kommt aus dem "State", scheinbar, aber warum is mir noch nich klar...



Bezüglich API kommt je Kanal total und total_returned in Wh, mehr nicht..bisher...
https://shelly-api-docs.shelly.cloud/#shelly-3em-overview




Beta-User

Also: Die Einrückungen kommen aus dem template und sind funktional unbeachtlich (ein Blick in das attrTemplate-File würde zeigen: das ist überall so; sonst könnte ich mich in der File gar nicht mehr orientieren...).

Wg. der Dreifach-Zeile: Versuch mal, die \n-Angaben in stateFormat durch <br> zu ersetzen. Wenn das nicht klappt, muß da eine einzeilige Version hin, was bei den vielen Readings nicht schön ist, aber dann nicht zu ändern.

x_mqttcom scheint der aktuelle state-Wert zu sein, der "schon lange" da steht (ein "list -r" würde das zeigen...). Sollte verschwinden, wenn du einen Befehl auf das Relay absetzt und auch nicht wieder erscheinen, wenn du nochmal x_mqttcom absetzt (da ist doch ein setStateList-attribut?!? -> auch hier wäre ein "list -r" hilfreich, um Spekulationen zu vermeiden, aber das scheint irgendwie noch nicht angekommen zu sein...). 

Was die Energie angeht:
- es gibt doch die persistenten Werte. Da brauchen wir eigentlich keine userReadings monotonic. Das würde ggf. nur dann Sinn machen, wenn man resets "überleben" wollte oder einen offset setzen will. (eigentlich fragt man sich, warum die nach Power-off neustartenden Energy-Werte überhaupt gesendet/ausgewerten werden... Soll das einfach raus/ignoriert werden?)
- Es gibt die Option, die Werte zurückzusetzen. Sollen das weitere set-Befehle werden?

Was die Gesamtsumme angeht, wäre das m.E. mal eine Anfrage beim Hersteller wert, genauso wie das Abstellen des Sendens der nicht-persistenten Werte (falls das nicht schon möglich sein sollte).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files