shelly - neu dabei und verständnisfragen habe ...

Begonnen von the ratman, 07 Februar 2026, 16:18:14

Vorheriges Thema - Nächstes Thema

rabehd

Zitat von: the ratman am 10 Februar 2026, 20:55:28ich hab doch das device schon in mqtt.
Hast Du das/ein passendes Template geladen?
ja, dann ist das Attribut setlist gefüllt und du hast deine Set-Befehle.
Auch funktionierende Lösungen kann man hinterfragen.

the ratman

es gibt wohl noch kein template für die 4fach steckdose und den damit verbundenen blu ht sensor.

angefragt hab ich schon wegen des templates, bisher aber keine info.
→do↑p!dnʇs↓shit←

rabehd

Zitat von: the ratman am 10 Februar 2026, 22:15:18und den damit verbundenen blu ht sensor
Dafehlt mir das Verständnis. Wie sind die "verbunden"?
Auch funktionierende Lösungen kann man hinterfragen.

the ratman

#18
die steckdose per wlan über meine fritte mit fhem als mqtt-server.
per bluetooth der sensor mit der steckdose. die steckdose ist also quasi der hub des bt-devices, also ein ganz normales vorgehen bei shelly, wie mir gesagt wurde.

aber: da ich kein template und eben auch kein wissen habe, habe ich keine ahnung, wie ich mehr als nur daten abrufen kann. mir fehlen also sämtliche schaltvorgänge für die steckdose und den taster des sensors bei mqtt.

die daten des sensors werden über die wlan steckdose weiter geleitet ... das schaut dann so aus:

defmod shellypstripg4_206ef10295f4 MQTT2_DEVICE shellypstripg4_206ef10295f4
attr shellypstripg4_206ef10295f4 alias shelly 4-fach steckdose
attr shellypstripg4_206ef10295f4 group 4xdose
attr shellypstripg4_206ef10295f4 readingList shellypstripg4_206ef10295f4:shellypstripg4-206ef10295f4/online:.* online\
shellypstripg4_206ef10295f4:shellypstripg4-206ef10295f4/events/rpc:.* { json2nameValue($EVENT) }\
shellypstripg4_206ef10295f4:shellypstripg4-206ef10295f4/rpc:.* { json2nameValue($EVENT) }
attr shellypstripg4_206ef10295f4 room mqtt

setstate shellypstripg4_206ef10295f4 2026-02-09 14:07:25 IODev ratBroker
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:17 dst shellypstripg4-206ef10295f4/events
setstate shellypstripg4_206ef10295f4 2026-02-10 16:22:24 id 1
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:17 method NotifyStatus
setstate shellypstripg4_206ef10295f4 2026-02-10 22:47:47 online false
setstate shellypstripg4_206ef10295f4 2026-02-10 13:20:17 params_bthomedevice_200_battery 100
setstate shellypstripg4_206ef10295f4 2026-02-09 09:54:18 params_bthomedevice_200_fw_ver v1.0.16
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:17 params_bthomedevice_200_last_updated_ts 1770759976
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:17 params_bthomedevice_200_packet_id 170
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:17 params_bthomedevice_200_rssi -49
setstate shellypstripg4_206ef10295f4 2026-02-10 22:02:17 params_bthomesensor_201_last_updated_ts 1770757337
setstate shellypstripg4_206ef10295f4 2026-02-10 22:02:17 params_bthomesensor_201_value 53
setstate shellypstripg4_206ef10295f4 2026-02-10 21:41:17 params_bthomesensor_202_last_updated_ts 1770756077
setstate shellypstripg4_206ef10295f4 2026-02-10 21:41:17 params_bthomesensor_202_value 20.8
setstate shellypstripg4_206ef10295f4 2026-02-10 13:45:02 params_events_1_cfg_rev 20
setstate shellypstripg4_206ef10295f4 2026-02-10 18:01:25 params_events_1_channel -1
setstate shellypstripg4_206ef10295f4 2026-02-10 18:01:25 params_events_1_component bthomedevice:200
setstate shellypstripg4_206ef10295f4 2026-02-10 18:01:25 params_events_1_event single_push
setstate shellypstripg4_206ef10295f4 2026-02-10 18:01:25 params_events_1_id 200
setstate shellypstripg4_206ef10295f4 2026-02-10 18:01:25 params_events_1_idx 0
setstate shellypstripg4_206ef10295f4 2026-02-10 13:45:02 params_events_1_restart_required false
setstate shellypstripg4_206ef10295f4 2026-02-10 18:01:25 params_events_1_sensors_1_1_id 200
setstate shellypstripg4_206ef10295f4 2026-02-10 18:01:25 params_events_1_sensors_1_1_last_updated_ts 1770742885
setstate shellypstripg4_206ef10295f4 2026-02-10 18:01:25 params_events_1_sensors_1_1_value 100
setstate shellypstripg4_206ef10295f4 2026-02-10 18:01:25 params_events_1_sensors_46_1_id 201
setstate shellypstripg4_206ef10295f4 2026-02-10 18:01:25 params_events_1_sensors_46_1_last_updated_ts 1770742885
setstate shellypstripg4_206ef10295f4 2026-02-10 18:01:25 params_events_1_sensors_46_1_value 51
setstate shellypstripg4_206ef10295f4 2026-02-10 18:01:25 params_events_1_sensors_69_1_id 202
setstate shellypstripg4_206ef10295f4 2026-02-10 18:01:25 params_events_1_sensors_69_1_last_updated_ts 1770742885
setstate shellypstripg4_206ef10295f4 2026-02-10 18:01:25 params_events_1_sensors_69_1_value 21.4
setstate shellypstripg4_206ef10295f4 2026-02-10 13:45:02 params_events_1_target group:200
setstate shellypstripg4_206ef10295f4 2026-02-10 18:01:25 params_events_1_ts 1770742885.35
setstate shellypstripg4_206ef10295f4 2026-02-10 13:19:50 params_mqtt_connected true
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:00 params_switch_0_aenergy_by_minute_1 0.000
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:00 params_switch_0_aenergy_by_minute_2 0.000
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:00 params_switch_0_aenergy_by_minute_3 0.000
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:00 params_switch_0_aenergy_minute_ts 1770759960
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:00 params_switch_0_aenergy_total 0.000
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:00 params_switch_0_apower 0.0
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:00 params_switch_0_aprtpower 0.0
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:00 params_switch_0_current 0.000
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:00 params_switch_0_freq 49.96
setstate shellypstripg4_206ef10295f4 2026-02-10 21:31:19 params_switch_0_output false
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:00 params_switch_0_pf 0.0
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:00 params_switch_0_ret_aenergy_by_minute_1 0.000
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:00 params_switch_0_ret_aenergy_by_minute_2 0.000
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:00 params_switch_0_ret_aenergy_by_minute_3 0.000
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:00 params_switch_0_ret_aenergy_minute_ts 1770759960
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:00 params_switch_0_ret_aenergy_total 0.000
setstate shellypstripg4_206ef10295f4 2026-02-10 21:31:19 params_switch_0_source HTTP_in
setstate shellypstripg4_206ef10295f4 2026-02-10 22:46:00 params_switch_0_voltage 235.3
... und noch viele readings mehr ...

bthomedevice ist dabei der sensor
switch 0 ist die steckdose nr. 1 von 4
→do↑p!dnʇs↓shit←

rabehd

Dann würde ich mal meinen Weg beschreiben.
Da ich nicht wißt was shelly.pm da unterstützt, wäre MQTT für mich die Wahl.
1. in der GUI des Shelly einen/deinen MQtt-Server eintragen.
2. wenn der MQtt-Server läuft, dann per MQTT-Explorer damit verbinden und schauen was an Informationen ankommt.
3. In FHEM per autocreate das Device anlegen lassen.
4. mit Templates experimentieren und weiter anpassen.
5. Wenn ok, Tewmplate generieren und hier zur Verfügung stellen.

Entweder jemand mit Erfahrung mit ähnlichen Geräten hilft Dir besser oder Du wirst lesen und probieren müssen.
Auch funktionierende Lösungen kann man hinterfragen.

the ratman

#20
das da oben ist mqtt - weil hier alle mit mqtt angefangen haben, nachdem ich nach shelly gefragt hab und mqtt nur als beispiel gebracht hab, dass der sensor mal generell durchgereicht wird, wie er soll.

und mir sagen, ich soll die anleitung besser lesen - BITTE lests doch mal, was ich in meinen ersten beiden beiträgen geschrieben hab!
ich will niemanden was böses und bin echt für jegliche hilfe sehr dankbar, aber wenigstens könnte man dann doch auch so nett sein, und lesen, was ich mehrfach schreibe ... ich kann ja nix dafür, das ich dann auf fragen antworte, und der fred so derartig zerfleddert wird, dass er langsam unlesbar wird.

Zitat4. mit Templates experimentieren und weiter anpassen.
DAS ist mein problem - ich beschäftige mich seit dem wochende mit mqtt, habe 0 ahnung und von scripten schon gar ned.
ich hab auch schon längst wegen eines templates beim entsprechenden fred angefragt - nur hat dort leider noch niemand was gesagt zu ... https://forum.fhem.de/index.php?topic=94495.msg1357365#msg1357365
→do↑p!dnʇs↓shit←

rabehd

Du möchtest keine Infos liefern, dann bin ich raus.

Ich habe nur ein shellyplus1pm mit angeschlossenem Temperatursensor, keinen per BT.
In der GUI vom Shelly sehe ich die Temperatur. Im MQTT-Exlorer sehe ich sie auch.
Ohne Antworten auf diese Fragen wüßte ich nicht wie ich dir helfen könnte.
Auch funktionierende Lösungen kann man hinterfragen.

taskkill

defmod shellyem_EC64C9C68993 MQTT2_DEVICE shellyem_EC64C9C68993
attr shellyem_EC64C9C68993 alias Gartenstrom
attr shellyem_EC64C9C68993 comment uptime:uptime.* { ReadingsVal($name,"uptime",0)/86400 }
attr shellyem_EC64C9C68993 readingList shellyem_EC64C9C68993:shellies/shellyem-EC64C9C68993/relay/0:.* relay_0\
shellyem_EC64C9C68993:shellies/shellyem-EC64C9C68993/emeter/0/power:.* emeter_0_power\
shellyem_EC64C9C68993:shellies/shellyem-EC64C9C68993/emeter/0/reactive_power:.* emeter_0_reactive_power\
shellyem_EC64C9C68993:shellies/shellyem-EC64C9C68993/emeter/0/pf:.* emeter_0_pf\
shellyem_EC64C9C68993:shellies/shellyem-EC64C9C68993/emeter/0/voltage:.* emeter_0_voltage\
shellyem_EC64C9C68993:shellies/shellyem-EC64C9C68993/emeter/0/total:.* emeter_0_total\
shellyem_EC64C9C68993:shellies/shellyem-EC64C9C68993/emeter/0/total_returned:.* emeter_0_total_returned\
shellyem_EC64C9C68993:shellies/shellyem-EC64C9C68993/emeter/1/power:.* emeter_1_power\
shellyem_EC64C9C68993:shellies/shellyem-EC64C9C68993/emeter/1/reactive_power:.* emeter_1_reactive_power\
shellyem_EC64C9C68993:shellies/shellyem-EC64C9C68993/emeter/1/pf:.* emeter_1_pf\
shellyem_EC64C9C68993:shellies/shellyem-EC64C9C68993/emeter/1/voltage:.* emeter_1_voltage\
shellyem_EC64C9C68993:shellies/shellyem-EC64C9C68993/emeter/1/total:.* emeter_1_total\
shellyem_EC64C9C68993:shellies/shellyem-EC64C9C68993/emeter/1/total_returned:.* emeter_1_total_returned\
shellyem_EC64C9C68993:shellies/shellyem-EC64C9C68993/emeter/0/energy:.* emeter_0_energy\
shellyem_EC64C9C68993:shellies/shellyem-EC64C9C68993/emeter/0/returned_energy:.* emeter_0_returned_energy\
shellyem_EC64C9C68993:shellies/shellyem-EC64C9C68993/emeter/1/energy:.* emeter_1_energy\
shellyem_EC64C9C68993:shellies/shellyem-EC64C9C68993/emeter/1/returned_energy:.* emeter_1_returned_energy\
shellyem_EC64C9C68993:shellies/shellyem-EC64C9C68993/online:.* online\
shellyem_EC64C9C68993:shellies/announce:.* { json2nameValue($EVENT) }\
shellyem_EC64C9C68993:shellies/shellyem-EC64C9C68993/announce:.* { json2nameValue($EVENT) }\
shellyem_EC64C9C68993:shellies/shellyem-EC64C9C68993/info:.* { json2nameValue($EVENT) }
attr shellyem_EC64C9C68993 room HOME
attr shellyem_EC64C9C68993 sortby K
attr shellyem_EC64C9C68993 stateFormat <hr>Momentan: emeter_0_power W &nbsp;; Heute: heute_kWh kWh<br>Gestern: gestern_kWh kWh &nbsp;;\
Gesamt: energy_kWh kWh &nbsp;; Dauer: uptime_days Tage<hr>\

attr shellyem_EC64C9C68993 userReadings energy_kWh:emeter_0_total.* { ReadingsVal($name,"emeter_0_total",0)/1000 }, heute_kWh:emeter_0_total.* { sprintf("%.2f",(ReadingsVal($name,"emeter_0_total",0)-ReadingsVal($name,"energy_start_day",0))/1000) }, uptime_days:uptime.* { sprintf("%.2f", ReadingsVal($name,"uptime",0)/86400) }, gestern_kWh:gestern_raw.* { sprintf("%.2f",ReadingsVal($name,"gestern_raw",0)/1000) }

setstate shellyem_EC64C9C68993 <hr>Momentan: 38.23 W &nbsp;; Heute: 0.47 kWh<br>Gestern: 0.96 kWh &nbsp;;\
Gesamt: 50.9135 kWh &nbsp;; Dauer: 8.23 Tage<hr>\


defmod reset_shelly_day at *00:00:01 { fhem("setreading shellyem_EC64C9C68993 gestern_raw ". (ReadingsVal("shellyem_EC64C9C68993","emeter_0_total",0) - ReadingsVal("shellyem_EC64C9C68993","energy_start_day",0)));; fhem("setreading shellyem_EC64C9C68993 energy_start_day ". ReadingsVal("shellyem_EC64C9C68993","emeter_0_total",0)) }
attr reset_shelly_day room Garten
RPI 4 mit RB-OS Trixie SSD, RPI 3B+ mit RM-OS Bullseye SSD, aktiver USB-Hub, Fhem (is klar)              TI CC2652P, JeeLink 868 PCA301, nanoCUL 868 WMBUS, Echo Plus 2te Gen., ESPxxxx, usw.

the ratman

@rabehd

welche infos willst den noch haben?

ich hab doch schon mehrfach die defmod geschrieben, ich hab sogar am anfang die firmwareversionen der geräte und was weiß ich alles geschrieben ...
mehr hab ich doch nicht.

aber zur sicherheit zum 4. oder 5. mal:
1) ich habe einen funktionierenden mqtt-server unter fhem
2) ich habe eine 4-fachsteckdose von shelly, die ber bluetooth einen "blu ht" sensor einbindet und dessen daten mit der steckdose zusammen an fhem sendet.
3) diese daten empfange ich - auch ohne passendes template - korrekt in fhem

x) was mir fehlt, ist das wissen, wie ich befehle über mqtt an die steckdose (genauer: die 4 steckdosen) senden kann.
mehr brauch ich nicht und das finde ich selber scheinbar nicht heraus, weil ich sonst nicht fragen müsste.


@taskkill

vielen dank - wird in kürze getestet *bg*
→do↑p!dnʇs↓shit←

taskkill

1. Bei Geräten mit Tasmota-Firmware
Tasmota nutzt für Mehrfachsteckdosen einen Index direkt im Topic oder Befehl.
Einzelne Dose schalten: Sende eine Nachricht an das Topic cmnd/DEIN_GERÄT/POWER<x>, wobei <x> die Nummer der Steckdose (1 bis 4) ist.
Topic: cmnd/meine_dose/POWER2
Payload: ON (an) oder OFF (aus)
Status abfragen: Sende ein leeres Payload an das Topic cmnd/meine_dose/POWER2.
2. Bei Nutzung von Zigbee2MQTT
Hier wird meist ein JSON-Payload an ein gemeinsames Topic gesendet, wobei die Steckdosen über einen Zusatz im Namen oder im JSON angesprochen werden.
Variante A (Unter-Topics): Viele 4-fach-Leisten erscheinen als separate Endpunkte.
Topic: zigbee2mqtt/FRIENDLY_NAME/l1/set (für Dose 1)
Payload: {"state": "ON"}
Variante B (JSON-Index): Manche Geräte erwarten die Indexnummer im Payload.
Topic: zigbee2mqtt/FRIENDLY_NAME/set
Payload: {"state_l1": "ON"} oder {"state_l2": "OFF"}
3. Beispiel für die manuelle Steuerung (MQTT Explorer/CLI)
Wenn du ein Tool wie den MQTT Explorer nutzt, kannst du die Befehle direkt testen:
Verbinde dich mit deinem MQTT Broker.
Suche das Statustopic (meist stat/ oder tele/), um zu sehen, wie die Steckdose ihre aktuellen Werte meldet.
Publiziere (Publish) den Befehl im entsprechenden Command-Topic (cmnd/ oder /set).
Tipp: Falls du die genauen Bezeichnungen nicht kennst, schalte die Steckdosen einmal manuell am Gerät oder über deren Web-Interface. Beobachte dabei im MQTT-Explorer, auf welchen Topics Nachrichten eingehen – so identifizierst du die richtige Struktur für deine Befehle.
RPI 4 mit RB-OS Trixie SSD, RPI 3B+ mit RM-OS Bullseye SSD, aktiver USB-Hub, Fhem (is klar)              TI CC2652P, JeeLink 868 PCA301, nanoCUL 868 WMBUS, Echo Plus 2te Gen., ESPxxxx, usw.

the ratman

is lieb, aber kapieren tu ich davon nix ... ich hab mal deine vorlage angepasst
defmod shellypstripg4 MQTT2_DEVICE shellypstripg4-206ef10295f4
attr shellypstripg4 comment uptime:uptime.* { ReadingsVal($name,"uptime",0)/86400 }
attr shellypstripg4 readingList shellypstripg4-206ef10295f4:shellies/shellypstripg4-206ef10295f4/relay/0:.* relay_0\
shellypstripg4-206ef10295f4:shellies/shellypstripg4-206ef10295f4/emeter/0/power:.* emeter_0_power\
shellypstripg4-206ef10295f4:shellies/shellypstripg4-206ef10295f4/emeter/0/reactive_power:.* emeter_0_reactive_power\
shellypstripg4-206ef10295f4:shellies/shellypstripg4-206ef10295f4/emeter/0/pf:.* emeter_0_pf\
shellypstripg4-206ef10295f4:shellies/shellypstripg4-206ef10295f4/emeter/0/voltage:.* emeter_0_voltage\
shellypstripg4-206ef10295f4:shellies/shellypstripg4-206ef10295f4/emeter/0/total:.* emeter_0_total\
shellypstripg4-206ef10295f4:shellies/shellypstripg4-206ef10295f4/emeter/0/total_returned:.* emeter_0_total_returned\
shellypstripg4-206ef10295f4:shellies/shellypstripg4-206ef10295f4/emeter/1/power:.* emeter_1_power\
shellypstripg4-206ef10295f4:shellies/shellypstripg4-206ef10295f4/emeter/1/reactive_power:.* emeter_1_reactive_power\
shellypstripg4-206ef10295f4:shellies/shellypstripg4-206ef10295f4/emeter/1/pf:.* emeter_1_pf\
shellypstripg4-206ef10295f4:shellies/shellypstripg4-206ef10295f4/emeter/1/voltage:.* emeter_1_voltage\
shellypstripg4-206ef10295f4:shellies/shellypstripg4-206ef10295f4/emeter/1/total:.* emeter_1_total\
shellypstripg4-206ef10295f4:shellies/shellypstripg4-206ef10295f4/emeter/1/total_returned:.* emeter_1_total_returned\
shellypstripg4-206ef10295f4:shellies/shellypstripg4-206ef10295f4/emeter/0/energy:.* emeter_0_energy\
shellypstripg4-206ef10295f4:shellies/shellypstripg4-206ef10295f4/emeter/0/returned_energy:.* emeter_0_returned_energy\
shellypstripg4-206ef10295f4:shellies/shellypstripg4-206ef10295f4/emeter/1/energy:.* emeter_1_energy\
shellypstripg4-206ef10295f4:shellies/shellypstripg4-206ef10295f4/emeter/1/returned_energy:.* emeter_1_returned_energy\
shellypstripg4-206ef10295f4:shellies/shellypstripg4-206ef10295f4/online:.* online\
shellypstripg4-206ef10295f4:shellies/announce:.* { json2nameValue($EVENT) }\
shellypstripg4-206ef10295f4:shellies/shellypstripg4-206ef10295f4/announce:.* { json2nameValue($EVENT) }\
shellypstripg4-206ef10295f4:shellies/shellypstripg4-206ef10295f4/info:.* { json2nameValue($EVENT) }
attr shellypstripg4 room HOME
attr shellypstripg4 sortby K
attr shellypstripg4 stateFormat <hr>Momentan: emeter_0_power W &nbsp;; Heute: heute_kWh kWh<br>Gestern: gestern_kWh kWh &nbsp;;\
Gesamt: energy_kWh kWh &nbsp;; Dauer: uptime_days Tage<hr>\

attr shellypstripg4 userReadings energy_kWh:emeter_0_total.* { ReadingsVal($name,"emeter_0_total",0)/1000 }, heute_kWh:emeter_0_total.* { sprintf("%.2f",(ReadingsVal($name,"emeter_0_total",0)-ReadingsVal($name,"energy_start_day",0))/1000) }, uptime_days:uptime.* { sprintf("%.2f", ReadingsVal($name,"uptime",0)/86400) }, gestern_kWh:gestern_raw.* { sprintf("%.2f",ReadingsVal($name,"gestern_raw",0)/1000) }

setstate shellypstripg4 <hr>Momentan: emeter_0_power W &nbsp;; Heute: heute_kWh kWh<br>Gestern: gestern_kWh kWh &nbsp;;\
Gesamt: energy_kWh kWh &nbsp;; Dauer: uptime_days Tage<hr>\

setstate shellypstripg4 2026-02-11 11:15:20 IODev ratBroker
da kommt aber leider auch 0
→do↑p!dnʇs↓shit←

taskkill

Starte mal den shelly neu, und den at mal die Uhrzeit auf jetzt + 3min stellen (nachher wieder auf 00:00:01).
RPI 4 mit RB-OS Trixie SSD, RPI 3B+ mit RM-OS Bullseye SSD, aktiver USB-Hub, Fhem (is klar)              TI CC2652P, JeeLink 868 PCA301, nanoCUL 868 WMBUS, Echo Plus 2te Gen., ESPxxxx, usw.