Shelly1 mit ESPeasy: devStateIcon - Frage

Begonnen von TubeHead, 06 Oktober 2025, 20:18:48

Vorheriges Thema - Nächstes Thema

TubeHead

Hallo Forengemeinde,

ich habe gerade einen alter Shelly1 wiederbelebt, da ESPeasy drauf geflasht und in FHEM eingebunden. Dsa klappt vollkommen schmerzfrei soweit.
Wo ich aber gegen die Wand laufe, ist meine bevorzugte devStateIcon - Definition.
In State wird leider nicht einfach nur "on|off" dargestellt, sondern "Rel: on|Rel: off". Dsa habe ich noch hinbekommen.
Wo ich aber dran scheitere, ist das Umschalten des Relais mit der Definition als drittes Attribut hinter der Icon-Definition.
Schalten kann ich per "gpio 4 on|gpio 4 off". Das aber als drittes Attribut zu definieren schaffe ich nicht.
Die Definition in WebCMD hingegen funktioniert so.

Hier mal der aktuelle Stand meiner Experimente:

defmod SH_DFUE_PSU ESPEasy 192.168.1.82 80 espBridge SH_DFUE_PSU
attr SH_DFUE_PSU Interval 300
attr SH_DFUE_PSU devStateIcon .*on:message_socket@lime:gpio-4-off .*off:message_socket@grey:gpio-4-on
attr SH_DFUE_PSU group ESPEasy Device
attr SH_DFUE_PSU presenceCheck 1
attr SH_DFUE_PSU readingSwitchText 1
attr SH_DFUE_PSU room 321 - Büro,_90 HW - ESPeasy
attr SH_DFUE_PSU setState 3
attr SH_DFUE_PSU webCmd gpio 4 on:gpio 4 off

setstate SH_DFUE_PSU Rel: on
setstate SH_DFUE_PSU 2025-10-06 20:17:34 Relay on
setstate SH_DFUE_PSU 2025-10-06 20:16:33 presence present
setstate SH_DFUE_PSU 2025-10-06 20:17:34 state Rel: on

Frage ist also, wie man es fertig bringt, bei einem Klick auf das Icon den Zustand des GPIO 4 zu ändern, wie es beim WebCMD funktioniert.

TomLee

ZitatFrage ist also, wie man es fertig bringt, bei einem Klick auf das Icon den Zustand des GPIO 4 zu ändern, wie es beim WebCMD funktioniert.

Moin,

Die Leerzeichen durch + ersetzen:

.*on:message_socket@lime:gpio+4+off .*off:message_socket@grey:gpio+4+on
Gruß Thomas

TubeHead

Vielen lieben Dank, Thomas! Das war es, was mir fehlte; funktioniert.

Hatte ich das in der CommandRef resp. im Wiki zu devStateIcon übersehen? Ich habe gerade noch mal geschaut, finde es dort aber immer noch nicht; brauche ich mehr Kaffee?

73 de Micha

betateilchen

Das Leerzeichen durch ein Pluszeichen ersetzen zu müssen, hat im Allgemeinen etwas mit html zu tun, nichts mit FHEM oder perl. Vermutlich steht es deshalb nicht in der commandref zu FHEM.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

TubeHead

Ah ok... Aber wer weiß das schon, ob das mit FHEM oder HTML zu tun hat? 8) Mir war das bis zu Deinem Hinweis nicht bewusst...
Immerhin... Ich bin nicht blind... Beruhigt mich  ;D

TomLee

Hier hat sich mal wer die Mühe gemacht zu zeigen, wie es ohne eventMap geht.

TubeHead

Danke Dir! Das hatte ich nicht gefunden... G
leich mal einen Link ablegen, damit ich in ein paar Jahren nicht wieder die gleiche Frage stellen muss... so wegen Alzheimer & Co  :o