Shelly 3 EM

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

Vorheriges Thema - Nächstes Thema

Astrofreak85

Hallo,

da ich im Forum nichts direkt gefunden haben, und mein Shelly 3EM mitlerweile da ist, wollte ich fragen, ob es dafür schon Unterstützung in einem der Module gibt?

MfG Astro

Florie

Ich nutze MQTT dafür ;)

Gesendet von meinem GM1913 mit Tapatalk

Astrofreak85

Da gibts aber noch kein passendes Template, oder?

Mit fehlen so Angaben wie Summenleistung und Summenverbrauch...

Astrofreak85

Ich hab erstmal in der Readings-List das hier hinzugefügt:

(zB für Phase 3)
shellyem3_xxxx:shellies/shellyem3-xxxx/emeter/2/total:.* {'emeter_2_kWh' => sprintf("%.2f",$EVENT/60/1000)}

unter der Annahme "total" sind tatsächlich die Wh...
Was "Energy" sein soll, is mir schleierhaft... und was "returned" angibt is mir eigentlich klar, nur sollte das alles 0 sein... hmm...

Astrofreak85

Also /60/1000 is falsch, sind hier doch abweichend zu den anderes device Wh nicht Wmin

Beta-User

OK, korrigiere ich bei Gelegenheit. (Optimierungshinweis: am besten gleich die fertige, korrigierte Lösung posten)

Kannst du ggf. auch noch vor morgen früh einen Vorschlag für stateFormat&Co liefern?
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

Verbal ja...

Leistung: P1: / P2: / P3: / Summe
Oder nur Summe, ggf. für die, die das Relais nutzen köntne man desse Status noch wie bei den anderen Shellys anzeigen.
ggf. auch mit on / off.

Beta-User

Gemeint war Code...

Im Ernst: "Quäl" dich ggf. mal da durch, es gibt genug Bausteine, die du nur geringfügig anpassen mußt.
Warum schreibe ich das, obwohl es fast so viel Arbeit ist, wie es selbst zu machen? Du wirst vermutlich was dabei lernen ;) . (Und ich bräuchte zum Testen eigentlich Hardware/einen Datenfluss).

Wenn es irgendwo hakt (z.B.: Zeilenumbrüche als "\n") , kannst du gern fragen, aber bitte mit (zu verbesserndem) Code ::) .
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

Qucik and (vermutlich) dirty...


{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");; "<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 || P2: $cons2 W / Total P2: $total2 kWh || P3: $cons3 W / Total P3: $total3 kWh</div>"}


Liefert mir das, was ich sehen möchte...erstmal

Beta-User

Ne, gut!

So habe ich was, was ich einchecken kann, ohne allzuviel darüber nachzudenken (evtl. abstrippen für stateFormat), und wer es "schöner" haben will, kann auf der Basis weitermachen oder was vorschlagen, Summen bilden, Spalten einfügen, whatever...
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

so jetzt gefällt mir das..weitgehend:

{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;; "<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 || P2: $cons2 W / Total P2: $total2 kWh || P3: $cons3 W / Total P3: $total3 kWh || Summe:  $total_sum kWh</div>"}


Astrofreak85

#11
wie könnte ich noch eine Summiertes Reading erzeugen? zB um das statistisch auswerten zu können?

Edit:
selber gelöst... userReading anlegen mit

emeter_sum_kWh {my $v = ReadingsVal($name,"emeter_0_kWh","unknown") + ReadingsVal($name,"emeter_1_kWh","unknown") + ReadingsVal($name,"emeter_2_kWh","unknown"))

Beta-User

...jetzt gebe ich mir solche Mühe, immer schön beispielhaft die Trigger bei den userReadings einzubauen...

Und zum Übertragen nach attrTemplate ist nochmal was hilfreich? Genau: ein RAW ::) ...

(Anregung noch: ich würde die drei Phasen jeweils eher in eine Zeile packen, und dann die Summe(n) darunter wieder in eine eigene Zeile, vielleicht sogar als Tabelle; _vermutlich_ wäre das übersichtlicher wie eine einzige Zeile ;) . (Neben "\n" geht vermutlich auch <br> oder <div>/</div>).
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

"Trigger"?

Also jetzt sieht es bei mir so aus, und ja das is schon ziemlich schick...

Prof. Dr. Peter Henning

Schick, hmm.. Ich würde es von der Usability her eher am anderen Ende einordnen...

"energy" ist übrigens immer die über die Zeit integrierte Leistung.

LG

pah