Hi,
ich hab nun meinen ersten Shelly, einen 2.5er Firmware 20190329-124426/master@854171ac per MQTT_2 in Fhem eingebunden (internetzugang für den Shelly ist gesperrt)
per Template shelly25_split wurden daraus dann auch 2 getrennte Devices.
Was geht:
getrennt schalten, übertragen der aktuellen Gesamtleistung (Summe beider Device)
was nicht geht:
die nachfolgenden readings werden nicht angelegt, sprich ich kann nicht unterscheiden welcher der beiden Kanäle aktuell welche Leistung "verbraucht"
shellies/shellyswitch25-690E04/relay/0/power:.* relay_0_power
shellies/shellyswitch25-690E04/relay/0/energy:.* relay_0_energy
bzw im Kanal 2 dann die 1 statt der 0
Kann ich, mit FHEM Boardmitteln, mitschneiden was der Shelly so "ins MQTT" schickt? Bei den ESP8266 geht das ja über den Gerätelog.
Hier noch ein List:
Internals:
CHANGED
CID shellyswitch25_690E04
DEF shellyswitch25_690E04
DEVICETOPIC steckdose_17
FUUID 5e13291e-f33f-a2d5-63bc-bda4fb114a5921ba
IODev MQTT2_FHEM_Server
LASTInputDev MQTT2_FHEM_Server
MQTT2_FHEM_Server_MSGCNT 7670
MQTT2_FHEM_Server_TIME 2020-01-07 12:39:50
MSGCNT 7670
NAME steckdose_17
NR 670
STATE on
TYPE MQTT2_DEVICE
.attraggr:
.attreocr:
pM_consumption
.attrminint:
.userReadings:
HASH(0x5921990)
HASH(0x58df690)
OLDREADINGS:
READINGS:
2020-01-07 12:39:50 energy 0
2020-01-07 10:14:45 fw_ver 20190329-124426/master@854171ac
2020-01-07 10:14:45 id shellyswitch25-690E04
2020-01-07 12:39:50 input_0 1
2020-01-07 10:14:45 ip 192.168.222.75
2020-01-07 12:39:50 kWh 0
2020-01-07 10:14:45 mac *****690E04
2020-01-07 10:14:45 new_fw false
2020-01-07 10:14:45 online true
2020-01-07 12:39:50 overtemperature 0
2020-01-07 12:39:50 pM_consumption 0.00
2020-01-07 12:39:50 power 0.00
2020-01-07 12:39:50 relay_0 on
2020-01-07 12:39:50 state on
2020-01-07 12:39:50 temperature 62.15
Attributes:
IODev MQTT2_FHEM_Server
alias Kaffeemaschine
comment Channel 1 for steckdose_17, see also steckdose_17_CH2
devStateIcon {my $onl = ReadingsVal($name,"online","false") eq "true"?"10px-kreis-gruen":"10px-kreis-rot";; my $light = ReadingsVal($name,"state","off");; my $cons = ReadingsVal($name,"relay_0_power","unknown");; my $temp = ReadingsVal($name,"temperature","-100");;"<div><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> Aktuell: $cons W / Temp.: $temp °C</div>"}
event-on-change-reading pM_consumption
getList power:noArg shellies/shellyswitch25-690E04/relay/power power
model shelly25_split
readingList shellies/shellyswitch25-690E04/relay/0:.* state
shellies/shellyswitch25-690E04/relay/0:.* relay_0
shellies/shellyswitch25-690E04/input/0:.* input_0
shellies/shellyswitch25-690E04/online:.* online
shellies/shellyswitch25-690E04/announce:.* { json2nameValue($EVENT) }
shellies/announce:.* { $EVENT =~ m,..id...shellyswitch25-690E04...mac.*, ? json2nameValue($EVENT) : undef }
shellies/shellyswitch25-690E04/relay/0/power:.* relay_0_power
shellies/shellyswitch25-690E04/relay/0/energy:.* relay_0_energy
shellies/shellyswitch25-690E04/temperature:.* temperature
shellies/shellyswitch25-690E04/overtemperature:.* overtemperature
shellies/shellyswitch25-690E04/longpush/0:.* longpush_0
shellyswitch25_690E04:shellies/shellyswitch25-690E04/relay/power:.* power
shellyswitch25_690E04:shellies/shellyswitch25-690E04/relay/energy:.* energy
room 400 Küche
setList off:noArg shellies/shellyswitch25-690E04/relay/0/command off
on:noArg shellies/shellyswitch25-690E04/relay/0/command on
x_update:noArg shellies/shellyswitch25-690E04/command update_fw
x_mqttcom shellies/shellyswitch25-690E04/command $EVTPART1
userReadings pM_consumption {[split(" ", ReadingsVal("$name","power",0))]->[0]},
kWh {[split(" ", ReadingsVal("$name","energy",0))]->[0]}
Grüße
Achim
Klar... Wenn autocreate auf 1 steht, (bei einem genügt), und es wird was gesendet, sollte es auch neue Readings geben.
Sonst: RAW-Events am Server/ IO einschalten + Event-Monitor?
Oder einfach von Hand eintragen 0 und 1. die readings liegen ja mit auf 0 und 1 im gleichen Zweig. Hab gerade die template Datei nicht zur hand und kann leider nicht prüfen ob es ggf falsch angelegt wurde...
Meine Vermutung @Beta-User : das Template wurde für den 2er und nicht den 2.5er shelly angelegt. Der 2er kann nur gesamt messen. Der 2.5er kann aber auf jeden ein/Ausgang messen. Deswegen wird das wohl im template damals so gelöst worden sein.
Gesendet von meinem LM-G810 mit Tapatalk
schonmal danke für die Tipps
Autocreate war bei beiden nicht als Attr angelegt hab ich nachgeholt und auf 1 gesetzt, default war/wäre aber 0 gewesen ???
hier mal ein raw Auszug, einmal Kaffee ;) was so alles reinkommt, der shelly scheint die Daten nicht zu schicken, also kann fhem auch nichts anzeigen hmmm
2020-01-07 12:55:41.487 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/0:on
2020-01-07 12:55:41.766 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/1:off
2020-01-07 12:55:42.060 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:0.00
2020-01-07 12:55:42.340 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:55:42.623 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/input/0:1
2020-01-07 12:55:42.902 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/input/1:1
2020-01-07 12:55:43.182 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/temperature:62.81
2020-01-07 12:55:43.463 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/overtemperature:0
2020-01-07 12:55:52.378 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:1443.99
2020-01-07 12:55:52.674 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:55:57.390 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:0.00
2020-01-07 12:55:57.679 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:55:58.902 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:73.52
2020-01-07 12:55:59.185 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:56:00.707 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:1474.39
2020-01-07 12:56:00.987 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:56:02.228 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:1633.92
2020-01-07 12:56:02.517 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:56:05.302 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:190.28
2020-01-07 12:56:05.582 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:56:06.786 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:170.20
2020-01-07 12:56:07.077 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:56:10.452 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:1588.19
2020-01-07 12:56:10.745 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:56:11.949 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:1439.59
2020-01-07 12:56:12.233 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:56:13.434 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:0.00
2020-01-07 12:56:13.717 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:56:14.911 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:32.31
2020-01-07 12:56:15.195 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:56:17.692 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:1492.24
2020-01-07 12:56:17.973 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:56:19.183 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:9.39
2020-01-07 12:56:19.465 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:56:21.007 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:0.00
2020-01-07 12:56:21.299 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:56:23.284 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:529.75
2020-01-07 12:56:23.594 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:56:24.807 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:1486.55
2020-01-07 12:56:25.091 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:56:29.473 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:47.57
2020-01-07 12:56:29.756 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:56:30.964 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:1480.77
2020-01-07 12:56:31.248 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:56:57.662 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/0:on
2020-01-07 12:56:57.951 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/1:off
2020-01-07 12:56:58.865 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:1479.89
2020-01-07 12:56:59.147 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:56:59.431 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/input/0:1
2020-01-07 12:56:59.710 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/input/1:1
2020-01-07 12:56:59.991 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/temperature:63.62
2020-01-07 12:57:00.275 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/overtemperature:0
2020-01-07 12:57:15.463 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:0.00
2020-01-07 12:57:15.751 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:57:19.336 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:41.07
2020-01-07 12:57:19.620 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:57:21.860 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:25.72
2020-01-07 12:57:22.144 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:57:23.372 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:34.23
2020-01-07 12:57:23.654 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:57:24.905 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:29.57
2020-01-07 12:57:25.189 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:57:26.386 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:0.00
2020-01-07 12:57:26.669 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:57:28.185 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:66.40
2020-01-07 12:57:28.468 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:57:29.684 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:40.91
2020-01-07 12:57:29.973 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:57:30.915 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:36.29
2020-01-07 12:57:31.209 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:57:33.839 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:0.00
2020-01-07 12:57:34.133 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:57:57.468 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/0:on
2020-01-07 12:57:57.756 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/1:off
2020-01-07 12:57:58.043 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:0.00
2020-01-07 12:57:58.328 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:57:58.611 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/input/0:1
2020-01-07 12:57:58.894 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/input/1:1
2020-01-07 12:57:59.179 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/temperature:63.90
2020-01-07 12:57:59.464 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/overtemperature:0
2020-01-07 12:58:27.523 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/0:on
2020-01-07 12:58:27.825 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/1:off
2020-01-07 12:58:28.106 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:0.00
2020-01-07 12:58:28.386 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 12:58:28.665 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/input/0:1
2020-01-07 12:58:28.943 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/input/1:1
2020-01-07 12:58:29.224 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/temperature:63.76
2020-01-07 12:58:29.504 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/overtemperature:0
ZitatOder einfach von Hand eintragen 0 und 1. die readings liegen ja mit auf 0 und 1 im gleichen Zweig. Hab gerade die template Datei nicht zur hand und kann leider nicht prüfen ob es ggf falsch angelegt wurde..
was ist damit genau gemeint?
Dir fehlen readings...beim Vergleich von ch0 und ch1 sollte dir auffallen was ich meine. Die readings heißen alle gleich und unterscheiden sich nur im Channel. Also das was dir im ch2 fehlt bzw komisch vorkommt. Einfach anpassen und schon klappt es. Also relay_0_energy ist im zweiten Channel einfach relay_1_energy. Und der Zweig davor muss eben auch angepasst werden.
Wenn du die resdingslist nebeneinander legst, siehst du sicher sofort, was ich meine.
Ach ja, das was der shelly nicht sendet, kannst du mit einem Neustart des shelly holen oder aber manuell ein Annonce senden.
Gesendet von meinem LM-G810 mit Tapatalk
Achso :-)
Ok die Readings stehen bei beiden Channels (jeweils 0 bzw 1) im Attr readingList und warten darauf "Futter" zu bekommen. Ich hab im ersten Beitrag exemplarisch einen gepostet.
Aber auch nach einem Neustart vom shelly, meldet er zwar von beiden Relais den Schaltzustand und auch vom Input den schaltzustand aber power und energy nur gesamt
2020-01-07 13:45:35.717 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/0:on
2020-01-07 13:45:35.994 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/1:off
2020-01-07 13:45:36.271 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/power:0.00
2020-01-07 13:45:36.550 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/relay/energy:0
2020-01-07 13:45:36.826 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/input/0:1
2020-01-07 13:45:37.102 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/input/1:1
2020-01-07 13:45:37.378 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/temperature:62.81
2020-01-07 13:45:37.655 MQTT2_SERVER MQTT2_FHEM_Server shellies/shellyswitch25-690E04/overtemperature:0
Hast du die resdingslist angepasst? Wenn es ein shelly 2.5 ist muss das gehen nach anpassen der Liste. Vergleiche bitte die Inhalte der Liste.... Es wird was krum sein, bei dir....
Also alles was du brauchst kannst du im zweiten Channel auch nutzen. Nur eben 0 und 1 tauschen. Ich poste mit Absicht keinen fertigen Code, da es nach dem "aha effekt" sofort verständlich wird... Probier ruhig aus. Sollte was schief gehen, gerät einfach löschen und via autocreate neu rein laufen lassen.
Gesendet von meinem LM-G810 mit Tapatalk
Evtl. eine Einstellung in der Firmware?
Ne...es ist wie ich oben sagte ... Hab selber diverse 2.5er. Hatte aber immer mein eigenes template genommen. Ist schon laaange her.
Es ist nur der kleine Unterscheid von 2.0 zu 2.5. sonst ist der kaputt.
Gesendet von meinem LM-G810 mit Tapatalk
Hi,
so mal eben gelöscht, dann set attrTemplate shelly25_splitt.
Ergibt 2 Devices:
1. Device
Internals:
.DbLog_splitFn Unit_DbLog_split
CFGFN
CID shellyswitch25_690E04
DEF shellyswitch25_690E04
DEVICETOPIC MQTT2_shellyswitch25_690E04
FUUID 5e148d60-f33f-a2d5-3979-51f6040636188067
IODev MQTT2_FHEM_Server
LASTInputDev MQTT2_FHEM_Server
MQTT2_FHEM_Server_MSGCNT 50
MQTT2_FHEM_Server_TIME 2020-01-07 14:57:39
MSGCNT 50
NAME MQTT2_shellyswitch25_690E04
NR 2292
STATE on
TYPE MQTT2_DEVICE
.attraggr:
.attrminint:
OLDREADINGS:
READINGS:
2020-01-07 14:57:37 energy 0
2020-01-07 14:54:22 fw_ver 20190329-124426/master@854171ac
2020-01-07 14:54:22 id shellyswitch25-690E04
2020-01-07 14:57:38 input_0 1
2020-01-07 14:54:22 ip 192.168.222.75
2020-01-07 14:54:22 mac *****690E04
2020-01-07 14:54:22 new_fw false
2020-01-07 14:54:21 online true
2020-01-07 14:57:39 overtemperature 0
2020-01-07 14:57:37 power 0.00
2020-01-07 14:57:36 relay_0 on
2020-01-07 14:57:36 state on
2020-01-07 14:57:38 temperature 62.02
powerMap:
readingsDesc:
pM_consumption:
rtype w
pM_energy:
rtype whr
Attributes:
IODev MQTT2_FHEM_Server
comment Channel 1 for MQTT2_shellyswitch25_690E04, see also MQTT2_shellyswitch25_690E04_CH2
devStateIcon {my $onl = ReadingsVal($name,"online","false") eq "true"?"10px-kreis-gruen":"10px-kreis-rot";; my $light = ReadingsVal($name,"state","off");; my $cons = ReadingsVal($name,"relay_0_power","unknown");; my $temp = ReadingsVal($name,"temperature","-100");;"<div><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> Aktuell: $cons W / Temp.: $temp °C</div>"}
getList power:noArg shellies/shellyswitch25-690E04/relay/power power
model shelly25_split
readingList shellies/shellyswitch25-690E04/relay/0:.* state
shellies/shellyswitch25-690E04/relay/0:.* relay_0
shellies/shellyswitch25-690E04/input/0:.* input_0
shellies/shellyswitch25-690E04/online:.* online
shellies/shellyswitch25-690E04/announce:.* { json2nameValue($EVENT) }
shellies/announce:.* { $EVENT =~ m,..id...shellyswitch25-690E04...mac.*, ? json2nameValue($EVENT) : undef }
shellies/shellyswitch25-690E04/relay/0/power:.* relay_0_power
shellies/shellyswitch25-690E04/relay/0/energy:.* relay_0_energy
shellies/shellyswitch25-690E04/temperature:.* temperature
shellies/shellyswitch25-690E04/overtemperature:.* overtemperature
shellies/shellyswitch25-690E04/longpush/0:.* longpush_0
shellyswitch25_690E04:shellies/shellyswitch25-690E04/relay/power:.* power
shellyswitch25_690E04:shellies/shellyswitch25-690E04/relay/energy:.* energy
room MQTT2_DEVICE
setList off:noArg shellies/shellyswitch25-690E04/relay/0/command off
on:noArg shellies/shellyswitch25-690E04/relay/0/command on
x_update:noArg shellies/shellyswitch25-690E04/command update_fw
x_mqttcom shellies/shellyswitch25-690E04/command $EVTPART1
2. Device
Internals:
.DbLog_splitFn Unit_DbLog_split
CFGFN
CID shellyswitch25_690E04
DEF shellyswitch25_690E04
DEVICETOPIC MQTT2_shellyswitch25_690E04_CH2
FUUID 5e148d86-f33f-a2d5-3d6a-c307c01eb11e3e46
IODev MQTT2_FHEM_Server
LASTInputDev MQTT2_FHEM_Server
MQTT2_FHEM_Server_MSGCNT 54
MQTT2_FHEM_Server_TIME 2020-01-07 14:58:39
MSGCNT 54
NAME MQTT2_shellyswitch25_690E04_CH2
NR 2309
STATE off
TYPE MQTT2_DEVICE
.attraggr:
.attrminint:
READINGS:
2020-01-07 14:54:19 associatedWith MQTT2_shellyswitch25_690E04
2020-01-07 14:58:37 energy 0
2020-01-07 14:54:22 fw_ver 20190329-124426/master@854171ac
2020-01-07 14:54:22 id shellyswitch25-690E04
2020-01-07 14:58:38 input_1 1
2020-01-07 14:54:22 ip 192.168.222.75
2020-01-07 14:54:22 mac *****690E04
2020-01-07 14:54:22 new_fw false
2020-01-07 14:54:21 online true
2020-01-07 14:58:39 overtemperature 0
2020-01-07 14:58:37 power 0.00
2020-01-07 14:58:36 relay_1 off
2020-01-07 14:58:36 state off
2020-01-07 14:58:38 temperature 61.89
powerMap:
readingsDesc:
pM_consumption:
rtype w
pM_energy:
rtype whr
Attributes:
IODev MQTT2_FHEM_Server
comment Channel 2 for MQTT2_shellyswitch25_690E04
devStateIcon {my $onl = ReadingsVal($name,"online","false") eq "true"?"10px-kreis-gruen":"10px-kreis-rot";; my $light = ReadingsVal($name,"state","off");; my $cons = ReadingsVal($name,"relay_0_power","unknown");; my $temp = ReadingsVal($name,"temperature","-100");;"<div><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> Aktuell: $cons W / Temp.: $temp °C</div>"}
getList power:noArg shellies/shellyswitch25-690E04/relay/power power
model shellyplug
readingList shellies/shellyswitch25-690E04/relay/1:.* state
shellies/shellyswitch25-690E04/relay/1:.* relay_1
shellies/shellyswitch25-690E04/input/1:.* input_1
shellies/shellyswitch25-690E04/online:.* online
shellies/shellyswitch25-690E04/announce:.* { json2nameValue($EVENT) }
shellies/announce:.* { $EVENT =~ m,..id...shellyswitch25-690E04...mac.*, ? json2nameValue($EVENT) : undef }
shellies/shellyswitch25-690E04/relay/1/power:.* relay_1_power
shellies/shellyswitch25-690E04/relay/1/energy:.* relay_1_energy
shellies/shellyswitch25-690E04/temperature:.* temperature
shellies/shellyswitch25-690E04/overtemperature:.* overtemperature
shellies/shellyswitch25-690E04/longpush/1:.* longpush_1
shellyswitch25_690E04:shellies/shellyswitch25-690E04/relay/power:.* power
shellyswitch25_690E04:shellies/shellyswitch25-690E04/relay/energy:.* energy
room MQTT2_DEVICE
setList off:noArg shellies/shellyswitch25-690E04/relay/1/command off
on:noArg shellies/shellyswitch25-690E04/relay/1/command on
Muss ich jetzt noch etwas anstoßen? Anfordern? Wenn ja wie mach ich das?
btw: Ruf ich den Shelly im Browser auf werden die Power Anzeigen korrekt angezeigt.
Mein nächster Schritt wäre sonst den Shelly aus dem gesperrten IP Bereich rauszuholen und ein Firmware Update zu machen.
Grüße
Achim
Die Liste sieht nun gut aus. Du könntest (wegen der Schönheit) die letzten Readings in beiden Geräten noch kürzen.
original:
shellyswitch25_690E04:shellies/shellyswitch25-690E04/relay/power:.* power
shellyswitch25_690E04:shellies/shellyswitch25-690E04/relay/energy:.* energy
schöner:
shellies/shellyswitch25-690E04/relay/power:.* power
shellies/shellyswitch25-690E04/relay/energy:.* energy
Ich selber mache nach dem Einrichten eines Shellys immer im Gerät "set DEVICE x_mqttcom announce" oder starte den Shelly neu. Dann bekommt man auch die online und offline Anzeige korrekt.
Bei mir kommen die Verbrauchswerte, selbst bei einem Shelly am rande des WLANs immer direkt rein. Also klick, 1, 2, 3 und dann sind sie da. Eben genau wie im Web-If vom Shelly.
Ein Update der Firmware, würde ich aber in jedem Fall machen! Viele Bug Fixes!
...na ja, die gesammelten Werte (?) stehen jetzt in Kanal 2, das erscheint mir nicht optimal...
Da muß ich ggf. auch das attrTemplate nochmal nachbessern, aber die Frage ist zuerst, ob das mit aktueller fw noch so ist, oder ob da nur getrennte Werte kommen (irgendwer sollte sich ja was dabei gedacht haben, dass das im template heute anders ist :P ).
Ich habe die sammel werte immer in beiden Kanälen. Finde ich besser. Allerdings rechne ich die nicht nochmal an anderer stelle zusammen, was dann ja wieder Müll wäre. Aber ich kann aktuell nicht auf mein System und kenne den Unterschied der FW Stände nicht auswendig.
Denke aber alle Fragen und infos sollten gegeben sein :)
Gesendet von meinem LM-G810 mit Tapatalk
Hi,
so nach dem Firmware Update tut nun alles so wie es soll *freu*
Super... Zum aktuellen Zeitpunkt lohnt es sich die shelly FW aktuell zu halten. Bisher war jedes Update auch wirklich sinnig. Da du die Geräte abgeschottet hast (find ich gut!) lohnt es sich für dich nicht immer. Kenne deine Firewall bzw Netzwerk Hardware nicht aber ich würde alle 6 Monate mal ein Update machen. Immer wieder werden Funktionen verbessert und Fehler gefunden. An sich sind die shellys gut aber das Unternehmen dahinter muss erstmal alle bedürfnisse erfassen usw....
Lange Rede, kurzer Sinn...viel Spaß :)
Gesendet von meinem LM-G810 mit Tapatalk
Einen hab ich noch ::)
Für denjenigen der die Templates verwaltet
$cons = ReadingsVal($name,"relay_0_power","unknown");; my $temp =
Wird in beiden Devices für die Statusanzeige im Frontend eingetragen
Im zweiten Device müsste es aber dann relay_1_power heißen
Dachte mir ja schon das es eigentlich vom shelly 2.0 kommt. Der hat nur eine gesamt Messung. Der shelly 2 wurde aber sehr selten verkauft und gibt es so nicht mehr. Ggf macht hier die Anpassung an einen wirklichen shelly 2.5 Sinn. Muss ich aber nachliefern, da ich nicht zuhause bin.
Gesendet von meinem LM-G810 mit Tapatalk
"derjenige der die templates verwaltet" hat's eben eingecheckt (neben diversen anderen Dingen, die vielleicht noch nicht perfekt sind ::) :P ).
@87insane:
Das hier scheint aber doch (jetzt) die aktuelle Variante zu sein (ohne das alte gemeinsame power, nur mit getrennten Werten), oder habe ich das mißverstanden?
Hab das nur im readingslist Bereich gelesen, da es zuerst um das Problem für mich ging. Hab also nicht gecheckt ob der von dir so heißgeliebte Punkt/Ampel drin ist und korrekt usw. Das würde ich alles lieber am pc tun. Aber gehe ich mal davon aus, das du an mich und die Ampel gedacht hast und es somit auch drin ist :)
Gesendet von meinem LM-G810 mit Tapatalk
Guten Morgen,
sieht gut aus!
Bei mir landen folgende Readings:
shellies/shellyswitch25-BA73F9/relay/0:.* state
shellies/shellyswitch25-BA73F9/relay/0:.* relay_0
shellies/shellyswitch25-BA73F9/input/0:.* input_0
shellies/shellyswitch25-BA73F9/online:.* online
shellies/shellyswitch25-BA73F9/announce:.* { json2nameValue($EVENT) }
shellies/announce:.* { $EVENT =~ m,..id...shellyswitch25-BA73F9...mac.*, ? json2nameValue($EVENT) : undef }
shellies/shellyswitch25-BA73F9/relay/0/power:.* relay_0_power
shellies/shellyswitch25-BA73F9/relay/0/energy:.* {'relay_0_energy' => sprintf("%.2f",$EVENT/60/1000)}
shellies/shellyswitch25-BA73F9/temperature:.* temperature
shellies/shellyswitch25-BA73F9/overtemperature:.* overtemperature
shellies/shellyswitch25-BA73F9/longpush/0:.* longpush_0
shellies/shellyswitch25-BA73F9/temperature_f:.* temperature_f
shellies/shellyswitch25-BA73F9/relay/1:.* state
shellies/shellyswitch25-BA73F9/relay/1:.* relay_1
shellies/shellyswitch25-BA73F9/input/1:.* input_1
shellies/shellyswitch25-BA73F9/online:.* online
shellies/shellyswitch25-BA73F9/announce:.* { json2nameValue($EVENT) }
shellies/announce:.* { $EVENT =~ m,..id...shellyswitch25-BA73F9...mac.*, ? json2nameValue($EVENT) : undef }
shellies/shellyswitch25-BA73F9/relay/1/power:.* relay_1_power
shellies/shellyswitch25-BA73F9/relay/1/energy:.* {'relay_1_energy' => sprintf("%.2f",$EVENT/60/1000)}
shellies/shellyswitch25-BA73F9/temperature:.* temperature
shellies/shellyswitch25-BA73F9/overtemperature:.* overtemperature
shellies/shellyswitch25-BA73F9/longpush/1:.* longpush_1
shellies/shellyswitch25-BA73F9/temperature_f:.* temperature_f
Ich selber hab auch die aktuelle FW drauf. Hast es ja eh schon eingecheckt und ich denke das passt so.
Danke!
Hi,
perfekt, dass wäre meine nächste Frage gewesen (notwendig oder nicht):
sprintf("%.2f",$EVENT/60/1000)
Aber hat sich ja damit auch erklärt
Grüße
Achim
Ist die Umrechnung, da die Shellys sonst leider keine kW angeben.
Jap, hätte jetzt nur gefragt ob der 2.5 das nicht mehr braucht weil es da gefehlt hat im Vergleich zu den anderen. Aber das hat sich ja erübrigt
Hi,
es gibt wohl doch noch ein Problem. Der Verbrauch Energy/kwh ist bei beiden Relais noch immer 0
shellies/shellyswitch25-690E04/relay/1/energy:0
Die sind ja nun schon einige Tage im Einsatz mit zig Kaffees, Reiskocher und Waffeleisen. 0,5-2 kWh sollten da schon drüber sein.
Ruf ich das Frontend vom Shelly selber auf finde ich auch da keine Seite mit kWh Zahlen oder ähnlichem.
Kann der das nicht? Oder muss ich das erst aktivieren? Mit Tasmota scheint es wohl zu gehen ???
Grüße
Achim
Häng mal einen wirklichen verbraucher dahinter. Denke die werte kommen korrekt rein. Einfach mal testen mit was größerem...
Gesendet von meinem LM-G810 mit Tapatalk
Ich poste das list mal hier, ist etwas übersichtlicher:
Internals:
CHANGED
CID shellyswitch25_690E04
DEF shellyswitch25_690E04
DEVICETOPIC steckdose_15
FUUID 5e148d86-f33f-a2d5-3d6a-c887c01eb11e3e46
IODev MQTT2_FHEM_Server
LASTInputDev MQTT2_FHEM_Server
MQTT2_FHEM_Server_MSGCNT 32413
MQTT2_FHEM_Server_TIME 2020-01-27 16:42:05
MSGCNT 32413
NAME steckdose_15
NR 622
STATE on
TYPE MQTT2_DEVICE
.attraggr:
.attreocr:
state
pM_consumption
.attrminint:
.userReadings:
HASH(0x56e97e0)
HASH(0x56f0490)
OLDREADINGS:
READINGS:
2020-01-27 16:41:05 fw_ver 20191216-090135/v1.5.7@c30657ba
2020-01-27 16:41:05 id shellyswitch25-690E04
2020-01-27 16:42:05 input_1 0
2020-01-27 16:41:05 ip 192.168........
2020-01-27 16:42:05 kWh 0
2020-01-27 16:41:05 mac .........690E04
2020-01-27 16:41:05 new_fw false
2020-01-27 16:41:05 online true
2020-01-27 16:42:05 overtemperature 0
2020-01-27 16:42:05 pM_consumption 925.16
2020-01-27 16:42:05 relay_1 on
2020-01-27 16:42:05 relay_1_energy 0.00
2020-01-27 16:42:05 relay_1_power 925.16
2020-01-27 16:42:05 state on
2020-01-27 16:42:05 temperature 74.42
Attributes:
IODev MQTT2_FHEM_Server
alias Steckdose Arbeitsplatte
comment Channel 2 for MQTT2_shellyswitch25_690E04
devStateIcon {my $onl = ReadingsVal($name,"online","false") eq "true"?"10px-kreis-gruen":"10px-kreis-rot";; my $light = ReadingsVal($name,"state","off");; my $cons = ReadingsVal($name,"relay_1_power","unknown");; my $temp = ReadingsVal($name,"temperature","-100");;"<div><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> Aktuell: $cons W / Temp.: $temp °C</div>"}
event-on-change-reading state,pM_consumption
getList power:noArg shellies/shellyswitch25-690E04/relay/power power
model shellyplug
readingList shellies/shellyswitch25-690E04/relay/1:.* state
shellies/shellyswitch25-690E04/relay/1:.* relay_1
shellies/shellyswitch25-690E04/input/1:.* input_1
shellies/shellyswitch25-690E04/online:.* online
shellies/shellyswitch25-690E04/announce:.* { json2nameValue($EVENT) }
shellies/announce:.* { $EVENT =~ m,..id...shellyswitch25-690E04...mac.*, ? json2nameValue($EVENT) : undef }
shellies/shellyswitch25-690E04/relay/1/power:.* relay_1_power
shellies/shellyswitch25-690E04/relay/1/energy:.* {'relay_1_energy' => sprintf("%.2f",$EVENT/60/1000)}
shellies/shellyswitch25-690E04/temperature:.* temperature
shellies/shellyswitch25-690E04/overtemperature:.* overtemperature
shellies/shellyswitch25-690E04/longpush/1:.* longpush_1
room 400 Küche
setList off:noArg shellies/shellyswitch25-690E04/relay/1/command off
on:noArg shellies/shellyswitch25-690E04/relay/1/command on
userReadings pM_consumption { (ReadingsVal("$name","relay_1_power",0));; },
kWh monotonic { (ReadingsVal("$name","relay_1_energy",0));; },
So auf Facebook hab ich's ja schon gepostet, aber zur Lösung auch noch mal hier:
Ohne Zugang zu einem ntp Server kann der Shelly 2.5 wohl keinen Gesamtverbrauch erfassen. Da er bei mir komplett vom Internet ausgesperrt war ging das natürlich nicht.
Ja das ist korrekt. Ist schon lange ein Thema. ABER ist auch bald gelöst.
Gesendet von meinem LM-G810 mit Tapatalk
Moin,
ich plane einen Shelly 2.5 als Logger für den Ertrag meines Balkonkraftwerks einzusetzen. Hat das schonmal jemand realisiert ?
Kenne sowas nur aus OWCOUNT, da werden Tages/Monats/Jahreslogs automatisch angelegt
Zitat von: CBSnake am 27 Januar 2020, 18:27:04
...Ohne Zugang zu einem ntp Server kann der Shelly 2.5 wohl keinen Gesamtverbrauch erfassen. Da er bei mir komplett vom Internet ausgesperrt war ging das natürlich nicht.
Lokalen Zeitserver einrichten/konfigurieren? ::)
Zitat von: Hollo am 04 Mai 2021, 08:53:06
Lokalen Zeitserver einrichten/konfigurieren? ::)
Ja, nach ersten Versuchen, dem smarten IP Bereich Zugriff auf einen Zeitserver zu geben, lief erst auf dem PI und mittlerweile auf dem großen Server ein eigener NTP Server.
Updates gehen zur Not über eine Android App.
Ist ja auch schon fast 1,5 Jahre her :-)