FHEM - Hausautomations-Systeme > MQTT

Shelly EM Template?

(1/3) > >>

deathworm:
Hi!

Ich hatte bisher nur Shelly 3EM im Einsatz. Dafür gibt es ein Template. Nun habe ich mehrere Shelly EM's verbaut. Jedoch finde ich hierzu kein passendes Template? Ich habe auch schon im Forum gesucht und keinen anderen passenden Beitrag gefunden. Jedoch habe ich einen Revision Eintrag gefunden:


Revision 23391: 36_Shelly.pm: Version erlaubt Nutzung von ShellyEM

36_Shelly.pm: Version erlaubt Nutzung von ShellyEM

Source: Revision 23391: 36_Shelly.pm: Version erlaubt Nutzung von ShellyEM


Ich habe daraufhin einfach mal testweiße "shelly1_w_energy_measuring" als Template genommen. Erst einmal kommt ein Fehler Userreading Nachfrage. Habe hier bereits beide Optionen getestet (Wobei nur eine Option mit Userreading eigentlich Sinn macht). Aber bei beiden bekomme ich keinerlei Werte angezeigt.

Verbrauch: unknown / Total: unknown/ Temp: -100 °C

Die Installation ist Uptodate.


Übersehe ich das passende Template etwa?

MadMax-FHEM:
Wie hast du eingebunden?

Per Shelly-Modul? (zumindest schreibst du davon) Da gibt es mWn kein Template, sondern Attrubute: model und gegebenenfalls mode.

Und da gibt es model 1PM...

Oder mqtt besser mqtt2?
Mqtt2_Server in fhem und mqtt beim Shelly aktivieren -> mqtt2_Device und da dann attrTemplate.
Ob es da eines für 1PM gibt weiß ich grad nicht.

Poste doch wenigstens ein list vom Device (in code-Tags, das '#' im "Menü")...

Gruß, Joachim

deathworm:
Ahoj,

eingebunden mit MQTT2. Und genau das passende attrTemplate bin ich am suchen. 1PM wäre ja auch wieder nicht korrekt, habe ja die EM's. Also nur Verbraucherzähler mit Messzange.


--- Code: ---Internals:
   CID        shellyem_98CDAC1EA52F
   DEF        shellyem_98CDAC1EA52F
   DEVICETOPIC MQTT2_shellyem_98CDAC1EA52F
   FUUID      6184d776-f33f-53f2-7758-d5c3ffdc62f0bae5
   IODev      myBroker
   LASTInputDev myBroker
   MSGCNT     1480
   NAME       MQTT2_shellyem_98CDAC1EA52F
   NR         599
   STATE      Relay: off,<br>P1: 2.37 W / Total P1: unknown kWh<br>P2: 7.10 W / Total P2: unknown kWh<br>P3: unknown W / Total P3: unknown kWh
   TYPE       MQTT2_DEVICE
   myBroker_MSGCNT 1480
   myBroker_TIME 2021-11-05 08:57:33
   READINGS:
     2021-11-05 08:04:25   IODev           myBroker
     2021-11-05 08:56:53   emeter_0_energy 0
     2021-11-05 08:57:33   emeter_0_power  2.37
     2021-11-05 08:57:33   emeter_0_reactive_power 0.00
     2021-11-05 08:56:53   emeter_0_returned_energy 0
     2021-11-05 08:57:33   emeter_0_total  23.5
     2021-11-05 08:57:33   emeter_0_total_returned 0.0
     2021-11-05 08:57:33   emeter_0_voltage 235.74
     2021-11-05 08:56:53   emeter_1_energy 7
     2021-11-05 08:56:53   emeter_1_energy_total 1654
     2021-11-05 08:57:33   emeter_1_power  7.10
     2021-11-05 08:57:33   emeter_1_reactive_power 12.20
     2021-11-05 08:56:53   emeter_1_returned_energy 0
     2021-11-05 08:57:33   emeter_1_total  470.8
     2021-11-05 08:57:33   emeter_1_total_returned 0.0
     2021-11-05 08:57:33   emeter_1_voltage 235.74
     2021-11-05 08:04:32   fw_ver          20210909-150325/v1.11.4-DNSfix-ge6b2f6d
     2021-11-05 08:04:32   id              shellyem-98CDAC1EA52F
     2021-11-05 08:04:32   ip              192.168.1.76
     2021-11-05 08:04:32   mac             98CDAC1EA52F
     2021-11-05 08:04:32   model           SHEM
     2021-11-05 08:04:32   new_fw          false
     2021-11-05 08:04:32   online          true
     2021-11-05 08:57:33   relay0          off
     2021-11-05 08:57:33   state           off
Attributes:
   alias      shelly-em-uv-og-p1-1
   comment    To get appropriate loadState values: Change the default limit "100" in readingList to your needs.
   devStateIcon {my $onl = ReadingsVal($name,"online","false") eq "false"?"10px-kreis-rot" : ReadingsVal($name,"new_fw","false") eq "true" ? "10px-kreis-gelb" : "10px-kreis-gruen"; my $light = ReadingsVal($name,"state","off"); my $cons = ReadingsVal($name,"relay_0_power","unknown"); my $total = ReadingsVal($name,"relay_0_kWh","unknown"); my $temp = ReadingsVal($name,"temperature","-100"); "<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>Verbrauch: $cons / Total: $total/ Temp: $temp °C</div>"}
   model      shelly1_w_energy_measuring
   readingList shellies/shellyem-98CDAC1EA52F/relay/0:.* state
  shellies/shellyem-98CDAC1EA52F/relay/0:.* relay0
  shellies/shellyem-98CDAC1EA52F/input/0:.* input0
  shellies/shellyem-98CDAC1EA52F/online:.* online
  shellies/announce:.* { $EVENT =~ m,..id...shellyem-98CDAC1EA52F...mac.*, ? json2nameValue($EVENT) : return }
  shellies/shellyem-98CDAC1EA52F/announce:.* { json2nameValue($EVENT) }
  shellies/shellyem-98CDAC1EA52F/relay/0/power:.* relay_0_power
  shellies/shellyem-98CDAC1EA52F/relay/0/power:.* { my $compare = $EVTPART0 < 100 ? "off":"on"; ReadingsVal($NAME,"loadState","off") ne $compare ? { 'loadState' => $compare } : return }
  shellies/shellyem-98CDAC1EA52F/temperature:.* temperature
  shellies/shellyem-98CDAC1EA52F/temperature_f:.* temperature_f
  shellies/shellyem-98CDAC1EA52F/input_event/0:.* { json2nameValue($EVENT) }
  shellies/shellyem-98CDAC1EA52F/overtemperature:.* overtemperature
  shellies/shellyem-98CDAC1EA52F/relay/0/energy:.* relay_0_energy
  shellies/shellyem-98CDAC1EA52F/relay/0/energy:.* {'relay_0_kWh' => sprintf("%.2f",$EVENT/60/1000)}
  shellies/shellyem-98CDAC1EA52F/longpush/0:.* longpush_0
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/info:.* { json2nameValue($EVENT) }
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/0/power:.* emeter_0_power
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/0/reactive_power:.* emeter_0_reactive_power
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/0/voltage:.* emeter_0_voltage
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/0/total:.* emeter_0_total
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/0/total_returned:.* emeter_0_total_returned
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/1/power:.* emeter_1_power
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/1/reactive_power:.* emeter_1_reactive_power
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/1/voltage:.* emeter_1_voltage
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/1/total:.* emeter_1_total
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/1/total_returned:.* emeter_1_total_returned
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/0/energy:.* emeter_0_energy
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/0/returned_energy:.* emeter_0_returned_energy
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/1/energy:.* emeter_1_energy
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/1/returned_energy:.* emeter_1_returned_energy
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/online:.* online
   room       Unwichtig->Zähler
   setList    relay0:on,off,toggle shellies/shellyem-98CDAC1EA52F/relay/0/command $EVTPART1
  toggle:noArg shellies/shellyem-98CDAC1EA52F/relay/0/command toggle
  off:noArg shellies/shellyem-98CDAC1EA52F/relay/0/command off
  on:noArg shellies/shellyem-98CDAC1EA52F/relay/0/command on
  x_update:noArg shellies/shellyem-98CDAC1EA52F/command update_fw
  x_mqttcom shellies/shellyem-98CDAC1EA52F/command $EVTPART1
   setStateList on off toggle
   stateFormat { 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"); return qq(Relay: $light,<br>P1: $cons1 W / Total P1: $total1 kWh<br>P2: $cons2 W / Total P2: $total2 kWh<br>P3: $cons3 W / Total P3: $total3 kWh) }
   userReadings relay_0_energy_total:relay_0_energy:.* monotonic {ReadingsNum("$name","relay_0_energy",0)} emeter_0_energy_total:emeter_0_energy:.* monotonic {ReadingsNum("$name","emeter_0_energy",0)}, emeter_1_energy_total:emeter_1_energy:.* monotonic {ReadingsNum("$name","emeter_1_energy",0)}, emeter_2_energy_total:emeter_2_energy:.* monotonic {ReadingsNum("$name","emeter_2_energy",0)}
   webCmd     :

--- Ende Code ---



Da zeigt er ja sogar nen paar Sachen an... nur in der Übersicht ist nach wie vor "Verbrauch: unknown / Total: unknown/ Temp: -100 °C"


Grüße,
Sascha

MadMax-FHEM:
Jetzt wo klar ist, dass es sich um MQTT und nicht um Shelly handelt -> verschieben ins MQTT-Unterforum...

Kannst du selbst machen...

Gruß, Joachim

Beta-User:
Es gibt für den em3 mWn. ein noch verbesserungsfähiges attrTemplate, das sollte eigentlich eine akzeptable Basis sein.

Da (im attrTemplate sollte ein Link stehen) sollten auch die Bausteine zu finden sein, wie man die Anzeige verbessern kann. Bitte erst mal selbst Einarbeiten, will grade nicht nochmal bei den Basics anfangen.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln