Autor Thema: MQTT2+Shelly: erste Konfiguration und template-Entwicklung  (Gelesen 117289 mal)

Offline draddy

  • Full Member
  • ***
  • Beiträge: 211
  • let's grow, it glows in the dark.
    • Franzke IT Service
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #885 am: 14 März 2022, 14:24:21 »
mehrfach, das spiel kannte ich ja vom "in_mode" noch zugenüge ^^
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19338
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #886 am: 14 März 2022, 14:29:46 »
Hmm, ist dieser Topic in ignoreRegexp am IO zu finden?
Es gibt mind eine weitere M2D-Instanz, die diesen Topic abonniert :-[ .

Da müßte man also auch noch was bauen, was individuell pro Shelly ist, M...!! Unschön. Muss vermutlich mal drüber nachdenken, was da die beste Lösung sein könnte, aber vielleicht fällt noch jemand anderem was ein?
Server: HP-T620@Debian 11, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Offline draddy

  • Full Member
  • ***
  • Beiträge: 211
  • let's grow, it glows in the dark.
    • Franzke IT Service
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #887 am: 14 März 2022, 14:38:48 »
da hab ich wieder was ausgelöst ...

wenn du was von meiner seite brauchst, meld dich, wenn mir noch was ein oder auffällt meld ich mich - sonst hoffen wir mal auf die anderen klugen köpfe ^^

irgendwie mit nem mapping können wir das nicht fixen oder?
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19338
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #888 am: 14 März 2022, 15:15:14 »
da hab ich wieder was ausgelöst ...
Es ist nicht soooo dramatisch, eher eine Fleiß-Aufgabe...

Zitat
irgendwie mit nem mapping können wir das nicht fixen oder?
Nein, jedenfalls nicht direkt.

Das "Problem": Wir können angeben, wohin wir eine Antwort haben wollen, wenn eine Anweisung per MQTT an so einen 2nd gen. Shelly rausgeht. Siehe auch die Beispiele in https://shelly-api-docs.shelly.cloud/gen2/HOWTO/MQTTSetup.
Bisher verwenden wir dafür einen "Einheits-Kenner", weil wir die Antwort an sich nicht brauchen - jedenfalls dann nicht, wenn wirklich geschaltet wird. Dann bekommen wir nämlich die Info über einen anderen Topic.

Jetzt stellt sich raus, dass wir in einigen sehr begrenzten Fällen die Infos doch brauchen könnten.
Ergo müßte man
- einen "unique"-Topic festlegen, auf dem die Antwort jeweils kommen soll, und
- die Auswertung für die sehr eng begrenzten Fälle machen, in denen man diese Infos eben doch braucht.

Fleißaufgabe eben... Just do it ;) .
Server: HP-T620@Debian 11, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Offline seule3008

  • Full Member
  • ***
  • Beiträge: 110
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #889 am: 19 März 2022, 10:09:20 »
Guten Morgen

Ich wollte mir den neuen Shelly plus 2pm bestellen und frage deshalb hier erstmal nach, ob es dazu schon ein template gibt oder ob ich einfach das vom 2.5 nutzen kann.

Vielen dank schonmal.

Christian

Offline draddy

  • Full Member
  • ***
  • Beiträge: 211
  • let's grow, it glows in the dark.
    • Franzke IT Service
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #890 am: 19 März 2022, 11:03:19 »
moin,

für den plus 1 pm gibts wohl eins, auf dem könnte man dann vermutlich aufbauen.

das für den 2.5 wird nicht klappen, da zwischen gen1 und gen2 Geräten größere Änderungen vom Hersteller erfolgt sind.
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19338
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #891 am: 19 März 2022, 12:02:07 »
Vermutlich eher auf das 4-er. Sollte jedenfalls zu machen sein...
Server: HP-T620@Debian 11, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Offline seule3008

  • Full Member
  • ***
  • Beiträge: 110
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #892 am: 20 März 2022, 16:07:13 »
Was bedeutet es das template anzupassen? Die setlist und readingslist anpassen oder ist das sehr aufwendig?

Meine Kenntnisse bei sowas sind nicht sonderlich ausgeprägt. Sollte ich evtl doch lieber den 2,5 nehmen? Ich tendiere zu dem neuen Plus 2 pm, weil der angeblich nicht so warm wird. Oder ist evtl schon jemand an einem passenden template dran?

Viele Grüße

Christian

Offline draddy

  • Full Member
  • ***
  • Beiträge: 211
  • let's grow, it glows in the dark.
    • Franzke IT Service
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #893 am: 20 März 2022, 20:22:16 »
also, meine Erfahrung ist, das hier sehr gut geholfen wird.
das es noch kein Template gibt, liegt vermutlich daran, dass den plus 2 noch keiner hat, hilft also am ende auch anderen wenn man den Entwicklern zum testen und Infos liefern zur Verfügung steht ;)
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1

Offline seule3008

  • Full Member
  • ***
  • Beiträge: 110
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #894 am: 20 März 2022, 20:26:03 »
Ich bestelle erstmal einen und versuche es mal. Bei den 6 die ich brauche ist mir das Investment zu hoch falls ich das doch nicht hinbekomme.


Offline draddy

  • Full Member
  • ***
  • Beiträge: 211
  • let's grow, it glows in the dark.
    • Franzke IT Service
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #895 am: 20 März 2022, 20:29:36 »
DAS klingt doch wie ein plan  ;D
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1

Offline fredje

  • New Member
  • *
  • Beiträge: 28
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #896 am: 07 April 2022, 10:05:55 »
Hallo,
bin gerade dabei ein Shelly Plug S einzurichten. Nach Umstellen des Shelly auf MQTT wird dies im Fhem angezeigt.
Wenn ich nun das Template "shelly1_w_energy_measuring" auswähle bekomme ich folgenden Fehler:

ERROR executing perl-code { my $old =  AttrVal("MQTT2_shellyplug_s_C554B8","userReadings",undef);; !defined $old ? 'relay_0_energy_total:relay_0_energy:.* monotonic {ReadingsNum($name,'relay_0_energy',0)}' : $old =~ m,relay_0_energy_total:relay_0_energy.*, ? $old : $old.', relay_0_energy_total:relay_0_energy:.* monotonic {ReadingsNum($name,'relay_0_energy',0)}' } for param NEWUSERREADINGS: Bad name after relay_0_energy' at (eval 30714) line 1.

Kann mir jemand weiterhelfen?

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19338
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #897 am: 07 April 2022, 10:32:20 »
Kann mir jemand weiterhelfen?
Kann sein, dass mir beim Überarbeiten des attrTemplate-Satzes zu Shelly ein Fehler unterlaufen ist. Kannst du bitte sagen, wann du das letzte Update von FHEM gemacht hattest (bzw. welche template-Version in der setreading-Anweisung am Ende des Info-Textes angezeigt wird, wenn du das attrTemplate aus der Dropdown-List auswählst) und hier ein RAW-List einstellen, damit ich das kurz selbst durchspielen kann?

EDIT: Fehler vermutlich gefunden, update folgt bei Gelegenheit...
« Letzte Änderung: 07 April 2022, 17:04:54 von Beta-User »
Server: HP-T620@Debian 11, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Offline fredje

  • New Member
  • *
  • Beiträge: 28
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #898 am: 07 April 2022, 17:12:23 »
Hallo Beta_User,
vielen Dank für deine Hilfe. Einen fhem update habe ich gerade gemacht, hat nicht geholfen.
Anbei die Infos ..

###########################################
# $Id: mqtt2.template 25920 2022-04-05 05:38:54Z Beta-User $
#
# Comments start with #. Empty lines are ignored.
# Syntax of one entry: name: line, one optional filter: line, zero or more par: lines,  FHEM-Commands
# filter:INTERNAL=VALUE (optional)
# par: name of the parameter; comment; perl_code (optional)
# perl_code returns a value for the parameter, or undef.
# If undef, the user has to specify them (the comment is shown to the user)

Applies to single relay Shelly devices offering energy measuring like Shelly 1PM or Shelly Plug S
attr DEVICE setList\
  relay0:on,off,toggle shellies/DEVNAME/relay/0/command $EVTPART1\
  toggle:noArg shellies/DEVNAME/relay/0/command toggle\
  off:noArg shellies/DEVNAME/relay/0/command off\
  on:noArg shellies/DEVNAME/relay/0/command on\
  x_update:noArg shellies/DEVNAME/command update_fw\
  x_mqttcom shellies/DEVNAME/command $EVTPART1
attr DEVICE readingList \
  shellies/DEVNAME/relay/0:.* {{ state => $EVENT, relay0 => $EVENT}}\
  shellies/DEVNAME/input/0:.* input0\
  shellies/DEVNAME/online:.* online\
  shellies/announce:.* { $EVENT =~ m,..id...DEVNAME...mac.*, ? json2nameValue($EVENT) : return }\
  shellies/DEVNAME/announce:.* { json2nameValue($EVENT) }\
  shellies/DEVNAME/relay/0/power:.* relay_0_power\
  shellies/DEVNAME/relay/0/power:.* { my $compare = $EVTPART0 < 100 ? 'off':'on'; ReadingsVal($NAME,'loadState','off') ne $compare ? { loadState => $compare } : return }\
  shellies/DEVNAME/temperature:.* temperature\
  shellies/DEVNAME/temperature_f:.* {}\
  shellies/DEVNAME/input_event/0:.* { json2nameValue($EVENT) }\
  shellies/DEVNAME/overtemperature:.* overtemperature\
  shellies/DEVNAME/relay/0/energy:.* { relay_0_energy => $EVENT, relay_0_kWh => sprintf("%.2f",$EVENT/60/1000)}\
  shellies/DEVNAME/longpush/0:.* longpush_0
attr DEVICE devStateIcon {my $onl = ReadingsVal($name,'online','false') eq 'false'?'10px-kreis-rot' : ReadingsVal($name,'new_fw','false') eq 'true' ? '10px-kreis-gelb' : '10px-kreis-gruen'; my $light = ReadingsVal($name,'state','off'); my $cons = ReadingsVal($name,'relay_0_power','unknown'); my $total = ReadingsVal($name,'relay_0_kWh','unknown'); my $temp = ReadingsVal($name,'temperature','-100'); "".FW_makeImage($onl)." ".FW_makeImage($light)."
Verbrauch: $cons / Total: $total/ Temp: $temp °C
"}
attr DEVICE comment To get appropriate loadState values: Change the default limit "100" in readingList to your needs.
attr DEVICE webCmd :
attr DEVICE setStateList on off toggle
deletereading -q DEVICE (?!associatedWith|IODev).*
set DEVICE x_mqttcom announce
attr DEVICE model shelly1_w_energy_measuring
setreading DEVICE attrTemplateVersion 20220404
option:{ CALLSPEECHRECOGN } 
set DEVICE attrTemplate speechcontrol_type_switch
option:{ RADIO_SETUSERREADING }
attr DEVICE userReadings NEWUSERREADINGS

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19338
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #899 am: 07 April 2022, 17:17:50 »
EDIT: Fehler vermutlich gefunden, update folgt bei Gelegenheit...

#2688 in der Datei sollte wohl eher so aussehen (nach Änderung reicht ein {AttrTemplate_Initialize()} aus):
par:NEWUSERREADINGS;NEWUSERREADINGS as set if relay_0_energy_total is included, otherwise it will be added;{ my $old = AttrVal('DEVICE','userReadings',undef); !defined $old ? 'relay_0_energy_total:relay_0_energy:.* monotonic {ReadingsNum($name,'relay_0_energy',0)}' : $old =~ m,relay_0_energy_total:relay_0_energy.*, ? $old : $old . q(, relay_0_energy_total:relay_0_energy:.* monotonic {ReadingsNum($name,'relay_0_energy',0)}) }
Server: HP-T620@Debian 11, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files