2.5 mit MQTT und FHEM Rückmeldung bzw. on-for-timer

  • Guten Morgen,

    bin neu im Bereich Shelly, aber schon länger mit FHEM unterwegs.

    Ich habe den Shelly 2.5 mit MQTT2 mit FHEM verbunden. Nun meine Frage:

    Ist die Anzeige eine wirkliche Rückmeldung des Shelly. (Gelbe Lampe an - Shelly in Betrieb?)

    Und dann noch on-for-timer: wird das im Shelly ausgeführt, oder kommt der Auschaltbefehl von FHEM?

    Sollte er nämlich in der Zwischenzeit die Verbindung verlieren wäre das nicht so gut wenn der Befehl zum Ausschalten von FHEM kommt?


    DAnke

    Gruß

    Helmut

  • Hallo Helmut, willkommen im Forum. :)


    Leider kann ich hier mangels FHEM-Kenntnissen nicht direkt helfen, aber ich verschiebe Dein Thema mal nach FHEM.


    Da hast Du vermutlich bessere Chancen auf eine qualifizierte Antwort.;)


    Viel Spass hier im Forum. 8)

  • Also einen Teil habe ich gefunden

    • Für die Nutzung von MQTT mit den Shelly-Devices spricht, dass ein Shelly-Aktor jede Zustandsänderung mit einer Nachricht an den zentralen MQTT-Server meldet - und zwar auch dann, wenn diese lokal, d.h. über einen der Schalteingänge direkt am Shelly-Aktor ausgelöst worden ist. Darüber hinaus wird der Systemstatus außerdem zyklisch alle 30 Sekunden übermittelt.

    https://wiki.fhem.de/wiki/Shelly-Aktoren


    Nur leider für on-for-timer habe ich nix gefunden

  • Hallo und willkommen

    Der Ausschaltbefehl kommt definitiv von Fhem! Einfach mal testen - on-fo-timer Befehl abschicken und dann Fhem runter fahren. Shelly bleibt an!


    Gruß

    Verwendete Hardware: Raspberry 3B +, Hoffentlich bald alle Shellys | Verwendete Software: Raspbian Buster, Linux Debian, Tasmota (Nur bei Sonoff - Shelly = Original), Fhem Hausautomation. | Projekte: Heizungsteuerung, Alarmanlage, Gartenbewässerung, Licht-, Gerätesteuerung - alle auf je 1 Raspberry, Fernsteuerung über VPN (Synology NAS).


    Verlange nie etwas von Anderen was du nicht selbst bereit bist zu tun!

  • Was meinst du mit der "gelben Lampe"? Meinst du das devStateIcon (gelber kreis, grüner kreis, roter kreis) oder meinst du die wirkliche Lampe, also das Symbol was immer bei jedem Gerät an und aus signalisiert?


    Das ich die Templates mit entwickelt habe, am besten mich markieren wenn was ist. Ich kann leider nicht immer jede Beitrag lesen.


    Als Anregung mal ein Screenshot aus meinem FHEM, von meinen Shellys. Grün = Shelly an (Schlafzimmer Deckenlicht). Die kleinen grünen Kreise signalisieren das der Shelly online ist (also im WLAN erreichbar). Bei Klick darauf würde man auf dem Webinterface des Shellys landen. Wenn der Kreis rot ist = offline. Wenn der Kreis gelb ist, dann wäre ein Firmware Update vorhanden. Bei klick auf einen gelben Kreis, würde der Shelly die Info bekommen, dass er das Firmware Update machen soll. Unten sieht man auch z.B. die Waschmaschine. Diese hängt an einem PlugS, da sie nicht so viel Watt zieht geht das mit dem PlugS. Zudem sehe ich die Verbräuche, nach dem Waschgang, sehe ich auch wie viel das gekostet hat bei meinem Strompreis usw.

    Fragen? Gerne...


    fhem_shellys.jpg

  • Hallo ReinP

    Danke für die Antwort. Das gefällt mir gar nicht. Denn ich schalte einmal am Tag eine Magnetventil für 30 Sekunden im Brunnen (um den Kessel zu entlüften) Wenn jetzt

    bis zum Ausschaltbefehl das Lan weg wäre, würde das Ventil weiter offen bleiben?!

    Da sollte ich doch wieder für diesen Zweck auf HM umsteigen. ?


    87insane ich meine die gelbe Lampe (Icon in FHEM) - meldet die den tatsächlichen Status. D.h wenn gelb hat der Shelly wirklich geschaltet - ist das eine echte Rückmeldung des Schaltzustandes?


    Danke euch schönen Tag

  • Via MQTT werden Nachrichten mit QOS versendet. Das Level des QOS kannst du selber einstellen. Geht von 0 -2. Wenn es auf 0 steht ist das so ne Sache. Klappt aber zu 99.9%. Ich würde 1 oder 2 nehmen. Unterschied bei 1 zu 2 ist nur das bei 1 die Nachrichten mindestens einmal ankommen und bei 2 wirklich nur einmal. MQTT Nachrichten werden gegen geprüft. Also in einfach gesagt:

    Hallo ich bin FHEM, Shelly geh bitte an. Der Shelly antwortet dann auch mit ich bin an. Deswegen ist MQTT auch so ein schönes Protokoll. Es ist eben TCP basierend. Also wenn FHEM sagt das Ding ist an, ist es auch an. Ich hoffe, meine Erklärung ist okay. Wenn nicht kannst du das überall im Netz nachlesen. Das weiß ich aktuell auch nur so genau, da ich gerade an diversen MQTT Skripten bastel.


    Kurz: Mindestens 1 nehmen, wenn du es 100% wissen willst.

    (https://www.hivemq.com/blog/mq…uality-of-service-levels/)


    Ich würde die Magnet-Ventil Schaltung direkt im Shelly machen. Das geht auch ohne Cloud. So schalte ich z.B. meine Pool Pumpe. Am besten legst du dir einfach Zeiten im Shelly an. Wenn natürlich Abhängigkeiten wichtig sind, dann nenne diese mal kurz. Dafür findet man sicherlich auch eine Lösung.

  • Nutze doch die Auto off Funktion vom Shelly!

    "On" Befehle von Fhem und Shelly bei Timer


    "When On - Turn Off After 30 seconds"


    einstellen. Save nicht vergessen.


    Gruß

    Verwendete Hardware: Raspberry 3B +, Hoffentlich bald alle Shellys | Verwendete Software: Raspbian Buster, Linux Debian, Tasmota (Nur bei Sonoff - Shelly = Original), Fhem Hausautomation. | Projekte: Heizungsteuerung, Alarmanlage, Gartenbewässerung, Licht-, Gerätesteuerung - alle auf je 1 Raspberry, Fernsteuerung über VPN (Synology NAS).


    Verlange nie etwas von Anderen was du nicht selbst bereit bist zu tun!

  • 87insane Danke für deine super Erklärung.

    ReinP das ist super - dann bin ich auf der sichren Seite


    Habe mir zwar auf der Garage außen einen WlanRepeater montiert um die

    Strecke bis zum BrunnenHaus zu überwinden, aber Signal ist nicht 100%

    aber mit TurnOff After bin ich auf der sichren Seite


    Schönen Tag noch

  • waki Hey - danke für das kompliment. Dann wird die Antwort dich noch mehr verwundern.


    In dem Bild ist keine einzige readingsGroup ... Was genau ist das was dir gefällt? Vermutlich die mehrfach Icons? Das geht mittlerweile über devstateicon via Perl. Bin gespannt was du genau meinst.

  • Du hast mich erwischt. :)


    Ich kämpfe zur Zeit mit dem Modul ReadingsGroup, da ich auf einer Seite möglichst viel Info zusammenfassen will. So war ich blind und der Ansicht, dass Du diese Ansicht auch nur darüber hast realisieren können.

    Doch beim genauer hinschauen hast Du wohl das Attribut group verwendet. Doch die Lösung mit den Mehrfachicons wäre trotzdem interessant.

  • waki Auf der Seite habe ich auch Plots usw. War für hier (die eigentliche Frage) aber unwichtig.


    Jap. Ich nutze Group, da dies für mich am besten ist. Habe mir quasi ein Dashboard gebaut.


    Mal ein Beispiel wegen den mehrfach button. Das Gerät sollte natürlich auch einen Sinn haben. Mal ein Post von einem Sonoff Doppel Schalter (Sonoff T1 EU - geflasht mit Tasmota).


    List davon:


    NAME MQTT2_bz_licht

    NR 74

    STATE <a href="http://192.168.xxx.xxx" target="_blank">

    Online

    </a>

    1:off

    2:off

    TYPE MQTT2_DEVICE

    READINGS:

    2019-08-08 17:58:29 Command Unknown

    2019-09-12 16:56:14 FallbackTopic cmnd/bz_licht_fb/

    2019-09-12 16:56:14 GroupTopic sonoffs

    2019-09-12 16:56:14 Hostname bz_licht

    2019-09-12 16:56:14 IPAddress 192.168.xxx.xxx

    2019-08-17 09:51:16 IPAddress1 192.168.xxx.xxx

    2019-10-10 11:38:42 LWT Online

    2019-03-08 17:20:20 LedState 2

    2019-10-11 13:57:24 LoadAvg 19

    2019-09-12 16:56:14 Module Sonoff T1 2CH

    2019-08-08 17:58:50 NtpServer1 pool.ntp.org

    2019-03-08 16:22:52 POWER

    2019-10-11 13:57:24 POWER1 off

    2019-10-11 13:57:24 POWER2 off

    2019-09-12 16:56:14 RestartReason Software/System restart

    2019-03-08 17:29:27 SetOption53 on

    2019-10-11 13:57:24 Sleep 50

    2019-10-11 13:57:24 SleepMode Dynamic

    2019-10-11 13:57:24 Time 2019-10-11T12:57:24

    2019-10-11 13:57:24 Uptime 28T21:01:16

    2019-10-11 13:57:24 Vcc 3.523

    2019-09-12 16:56:14 Version 6.4.1(sonoff)

    2019-09-12 16:56:14 WebServerMode Admin

    2019-03-08 19:59:43 WifiConfig WifiManager selected

    2019-10-11 13:57:24 Wifi_AP 1

    2019-10-11 13:57:24 Wifi_BSSId 0E:02:8E:8F:AF:85

    2019-10-11 13:57:24 Wifi_Channel 11

    2019-10-11 13:57:24 Wifi_RSSI 56

    2019-10-11 13:57:24 Wifi_SSId TollerNetzwerkName

    Attributes:

    IODev MQTT2_FHEM_Server

    alias Badezimmer Wandschalter

    autocreate 0

    devStateIcon Online:10px-kreis-gruen@green Offline:10px-kreis-rot@red 1.on:sonos_play1@green:POWER1+off 1.off:sonos_play1:POWER1+on 2.on:light_pendant_light@green:POWER2+off 2.off:light_pendant_light:POWER2+on

    event-on-change-reading .*

    group Licht

    model A_02a_tasmota_2ch_unified

    readingList tele/bz_licht/LWT:.* LWT

    tele/bz_licht/STATE:.* { json2nameValue($EVENT) }

    tele/bz_licht/SENSOR:.* { json2nameValue($EVENT) }

    tele/bz_licht/INFO.:.* { json2nameValue($EVENT) }

    stat/bz_licht/RESULT:.* { json2nameValue($EVENT) }

    tele/bz_licht/UPTIME:.* { json2nameValue($EVENT) }

    stat/bz_licht/POWER1:.* POWER1

    stat/bz_licht/POWER2:.* POWER2

    room Bad / Flur,FHEM / Info,MQTT

    setList POWER1:on,off,toggle cmnd/bz_licht/POWER1 $EVTPART1

    POWER2:on,off,toggle cmnd/bz_licht/POWER2 $EVTPART1

    setStateList on off toggle

    stateFormat <a href="http://IPAddress" target="_blank">

    LWT

    </a>

    1:POWER1

    2:POWER2

    userattr EG EG_map structexclude

    webCmd :POWER1:POWER2


    Also wie man sieht, sehr einfach gelöst. Komplexere Dinge werden wie z.B. in den attr Templates von MQTT2 gelöst.


    devStateIcon von einem Shelly1pm:

    { my $amp = ReadingsVal($name,"online","false") eq "false" ? "rot" : ReadingsVal($name,"new_fw","false") eq "true" ? "gelb" : "gruen";; my $light = ReadingsVal($name,"state","off") eq "on"?'light_pendant_light@green':'light_pendant_light';; my $cons = ReadingsVal($name,"relay_0_power","unknown");; my $temp = ReadingsVal($name,"temperature","-100");; my $show = "$amp" eq "gelb" ? "<a href=\"/fhem?cmd.dummy=set $name x_update&XHR=1\">".FW_makeImage("10px-kreis-".$amp)."</a>" : "<a href=\"http://".ReadingsVal($name,"ip","none")." \"target=\"_blank\">".FW_makeImage("10px-kreis-".$amp)."</a>";; "<div> $show <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a> Aktuell: $cons W / Temp.: $temp °C </div>" }




    Anbei nochmal ein Teilausschnitt des Dashboards. Ich finde Group vollkommen super dafür.

    fhem_dashboard.jpg


    Die Mehrfachicons sind bei den Shellys ja auch vorhanden. Das wäre dann der kleine Kreis, danach das Licht Symbol. Das könnte man bis ins unendliche weiter machen. -> devstateicon in Perl