Modul 36_ShellyMonitor

Begonnen von gvzdus, 16 Januar 2021, 14:18:47

Vorheriges Thema - Nächstes Thema

gvzdus

Hi, nein, der TRV wird z.Zt. m.W. von nichts (Shelly, ShellyMonitor, MQTT?) unterstützt.
Wenn Du selber "basteln" willst, sollte am ehesten mit HTTPMOD und der Shelly-API-Doku ein Basic-Support machbar sein.

UweH

Über MQTT läuft das Ding prima.

Gruß
Uwe

Olli.R

Hallo UweH,

danke, ich wollte das grad mal unter MQTT einbinden, jedoch gibts für das Shelly TRV kein attr-Template.
Wie hast du das eingebunden?
Die Readings habe ich, jedoch bekomme ich die Settings nicht per setList hin, ich habe schon viel rumprobiert, aber es klappt nicht die Temperatur einzustellen.
Laut Shelly-API Referenz müsste das eigentlich so als setList aussehen:
thermostats_1_target_t_value:slider,4,1,31 shellies/$Name/thermostat/0/command/target_t $EVTPART1

PS.: Ich weiss, das gehört nicht in diesen Thread, Sorry, aber am Einfachsten war es für mich auf UweHs Antwort zu reagieren.  8)

Ein Modul für ShellyMonitor wäre mir auch noch am liebsten, jedoch habe ich mich auch daran versucht und das ist ja nooooch komplizierter...  :o

UweH

Auch das Modul kann TRV-Readings lesen, als model generic, ohne set-Befehle. Gleiches gilt für MQTT, da werden auch endlos Readings ohne Template geliefert. Befehle absetzen geht per http. Temperatur einstellen z.B. per
http://<TRV-IP>/thermostat/0?target_t=22

Ventilposition http://<TRV-IP>/thermostat/0?pos=1

Den Befehl in einem notify absetzen würde dann z.B. so aussehen:fhem('{GetFileFromURL("http://<TRV-IP>/thermostat/0?pos=1")}')

Die ganze Befehlsübersicht gibt's hier: https://shelly-api-docs.shelly.cloud/gen1/#shelly-trv-settings-thermostats-0

Gruß
Uwe

Olli.R

Moin UweH,

herzllichen Dank für deine Unterstützung.
Die Readings habe ich ja schon, nun wollte ich über setList die Set-Befehle hinzufügen, was mir aber nicht gelingt.
Dein Vorschlag die Befehle über http oder https abzusetzen ist eine Möglichkeit, die ich noch nicht in Betracht gezogen habe, da ich gern immer alles schön geordnet haben will. Also wenn eine Gerät für die Kommunikation mqtt nutzt dann ziehe ich es vor auch alles über das eine Protokoll zu machen, ansonsten wird mir das bei über achtzig Geräten zu komplex.  :-\
Ich forsche dann mal weiter, wieso das TRV meine mqtt-Befehle nicht annimmt...
Wenn ich das irgendwann raus habe, könnte man ja die Befehle in das Modul einbauen !?

Gruß
Olli

Olli.R

Hurra, es geht... :D
ich habe jetzt mal mit MQTT-Explorer das Ganze beobachtet und habe nun die Syntax für die Ansteuerung des Shelly TRV mit MQTT gefunden.
Leider war das in der API-Referenz nicht ganz klar beschrieben und in den Foren sind immer irgendwelche Ausdrücke genutzt worden, die Klammern oder Anführungszeichen nutzen.
Das scheint beim Shelly viel einfacher zu sein -> einfach alles Weglassen!  ;)

Um einen Slider für Shelly TRV zur Temperatureinstellung über setList hinzuzufügen einfach folgenden Befehl ausführen:
attr MQTT2_shellytrv_NUMMER setList thermostats_1_target_t_value:slider,4,1,31 shellies/shellytrv-NUMMER/thermostat/0/command/target_t $EVTPART1

Unbedingt auf _ und - achten, da kommt man schnell durcheinander.
Wenn ich dann noch irgendwie rauskriege wie man das als Modul ins ShellyMonitor- oder Shelly-Modul reinbekommt werde ich wieder schreiben.

Bis denn
Olli

Prof. Dr. Peter Henning

ZitatShelly-Modul reinbekommt
Falscher Thread

pah

Olli.R

ZitatFalscher Thread

Sorry, ich wusste nicht, dass man ein weiteres Modul hier nicht erwähnen darf.
Dann lasse ich es halt und werde alleine glücklich.  :P



Prof. Dr. Peter Henning

Prima, das freut uns - macht weniger Arbeit.

pah

RalfRog

Ich nutze das Modul mit einen Shelly Plug-S genau dafür:

Zitat von: gvzdus am 16 Januar 2021, 14:18:47
Dieses Modul wertet Multicast-Messages aus, die jedes Shelly-Gerät i.d.R. alle 30 Sekunden und bei wichtigen Zustandsänderungen im Netzwerk sendet.
Diese Pakete werden für 2 Zwecke verwendet:

  • Readings in Geräten, die mit 36_Shelly.pm angelegt wurden, werden aktualisiert. Das Pollen im Shelly-Modul kann daher auf eine sehr niedrige Frequenz gestellt werden - z.B. um Readings wie verfügbare Firmwareupdates anzuzeigen.

Ist das Modul noch kompatibel zum aktuellen "36_Shelly.pm".  Beim PlugS alles ok aber beim 3EM aktualisiert sich nur Voltage.

Gruß Ralf
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

gvzdus

Den 3EM habe ich nicht. Ich habe damals die Doku von Shelly abgetippt, vielleicht hat sich was geändert. Hilfreich wäre:
a) DEBUG-Log
b) Tcpdump.

Ja, ich bin eigentlich erstaunt, dass ShellyMonitor nach wie vor "aktuell" ist. Die Abkündigung von CoAP scheint Shelly wieder für Gen1 eingestampft zu haben. Ich als Autor nutze es nach wie vor, und ich mag die Kombination aus "Begrenzung auf die wesentlichen Werte" und Cloud-Fähigkeitkeit im Vergleich zu MQTT.
Allerdings wäre der 3EM durchaus ein Gerät, bei dem MQTT nicht falsch ist, da permanent Werte übertragen werden.

RalfRog

#131
Geht mir auch so.
Schicke im Laufe des Tages Daten.

Gruß Ralf
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

RalfRog

#132
Zitat von: gvzdus am 26 Dezember 2022, 23:27:12
... Hilfreich wäre:
a) DEBUG-Log
b) Tcpdump.
Hallo Daten angehängt:
http://<ip>/status
http://<ip>/cit/d


$ sudo tcpdump -vv -A -i eth0 port 5683

tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
11:24:09.986549 IP (tos 0x0, ttl 128, id 381, offset 0, flags [none], proto UDP (17), length 363)
    aa.bb.cc.dd.5683 > 224.0.1.187.5683: [udp sum ok] UDP, length 335
E..k.}....-.
..\.....3.3.W.=P. ..cit.s....SHEM-3#244CABxxyyzz#2.CX.....{"G":[[0,9103,0],[0,1101,0],[0,4105,0.00],[0,4106,32.2],[0,4107,128.3],[0,4108,226.36],[0,4109,0.01],[0,4110,-0.04],[0,4205,0.00],[0,4206,0.0],[0,4207,0.0],[0,4208,0.10],[0,4209,0.01],[0,4210,0.00],[0,4305,0.00],[0,4306,0.0],[0,4307,0.0],[0,4308,0.08],[0,4309,0.01],[0,4310,0.00],[0,6102,0]]}

--------------------------------------------------------------------------------------------------------------------------------------------------

Verbose 5 vom Modul

2022.12.25 22:51:00.623 4 : Received data from aa.bb.cc.dd
2022.12.25 22:51:00.624 4 : aa.bb.cc.dd: in cache, devices=shelly_3em_haus (size=1)
2022.12.25 22:51:00.625 5 : URI: /cit/s, global_devid = SHEM-3#244CABxxyyzz#2, validity=2253, serial=2
2022.12.25 22:51:00.627 5 : Found device shelly_3em_haus, model shelly3em
2022.12.25 22:51:00.627 5 : cfgChanged = 0
2022.12.25 22:51:00.628 5 : output_0 = 0
2022.12.25 22:51:00.629 5 : power_0 = 0
2022.12.25 22:51:00.630 5 : energy_0 = 3.4
2022.12.25 22:51:00.630 5 : energyReturned_0 = 126.4
2022.12.25 22:51:00.631 5 : voltage_0 = 225.47
2022.12.25 22:51:00.631 5 : current_0 = 0.01
2022.12.25 22:51:00.632 5 : powerFactor_0 = 0.01
2022.12.25 22:51:00.632 5 : power_1 = 0
2022.12.25 22:51:00.633 5 : energy_1 = 0
2022.12.25 22:51:00.633 5 : energyReturned_1 = 0
2022.12.25 22:51:00.634 5 : voltage_1 = 0.1
2022.12.25 22:51:00.634 5 : current_1 = 0.01
2022.12.25 22:51:00.634 5 : powerFactor_1 = 0
2022.12.25 22:51:00.635 5 : power_2 = 0
2022.12.25 22:51:00.636 5 : energy_2 = 0
2022.12.25 22:51:00.636 5 : energyReturned_2 = 0
2022.12.25 22:51:00.636 5 : voltage_2 = 0.09
2022.12.25 22:51:00.637 5 : current_2 = 0.01
2022.12.25 22:51:00.637 5 : powerFactor_2 = 0
2022.12.25 22:51:00.637 5 : overpower_0 = 0


Hoffe das reicht
Gruß Ralf

Edit (Dump kommentiert):
{"G":[
[0,9103,0],
[0,1101,0],
     Power W     Energie Wh     EnergieRet Wh            Volt V        Strom A            pf
[0,4105,0.00],[0,4106,3.4],[0,4107,126.4],[0,4108,225.40],[0,4109,0.01],[0,4110,0.02],
[0,4205,0.00],[0,4206,0.0],[0,4207,0.0],  [0,4208,0.10],  [0,4209,0.01],[0,4210,0.00],
[0,4305,0.00],[0,4306,0.0],[0,4307,0.0],  [0,4308,0.09],  [0,4309,0.01],[0,4310,0.00],
[0,6102,0]]


FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

gvzdus

Okay, ich interpretiere das so: Im DEBUG-Log siehst Du die richtigen Werte, aber sie werden nicht ins Device geschrieben, korrekt?

Dann ist der Grund vermutlich, dass ich in ShellyMonitor nicht das "model" "shelly3em" eingetragen habe. Wenn Du mal mit dem Editor in 36_ShellyMonitor gehst, siehst Du um Zeile 200 die Definitionen, wie viele Kanäle welcher Typ hat. Das wird u.a. dazu verwendet, damit einkanälige Geräte "power" und nicht "power_0" schreiben. Hier gibt es keine Definition von "shelly3em", weil es damals (tm) das nicht im Shelly-Modul gab.

Probiere bitte mal, die Zeile für "shelly3em" einzufügen. Also:

    196 # Copied from 36_Shelly, keep up to date..:
my %shelly_models = (
#(relays,rollers,dimmers,meters)
"generic" => [4,4,4,4],
  "shellygeneric" => [4,4,4,4],
  "shelly1" => [1,0,0,0],
  "shelly3em" => [1,0,0,3],


Ich muss hier mal meinen Kommentar "Keep up to date" beherzigen...

RalfRog

#134
Ja werde ich machen.
Habe gerade auf die aktuelle FW 1.12.1 aktualisiert (kommt noch was mit dem Neutralleiter dazu) und bin gerade dabei vom Testaufbau in den Keller zu verlagern.

Melde mich wenn ich wieder ordentlich testen kann  :)

War mit ein Grund dich anzutriggern  8)
Zitat
Ich muss hier mal meinen Kommentar "Keep up to date" beherzigen...
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder