Benachrichtigung Telegram mit ShellyPlug funktoniert nicht

Begonnen von sxx128, 01 Oktober 2020, 12:19:21

Vorheriges Thema - Nächstes Thema

sxx128

Hallo zusammen,

ich habe einen ShellyPlug im Wohnzimmer an dem eine Stehlampe hängt. Ich hätte gerne eine Benachrichtigung über Telegram wenn diese Lampe eingeschaltet wird. Ich wollte  das mit einem DOIF realisieren. Leider klappt das gar nicht...


([shelly_wohnzimmer_stehlampe:"on"])
(set telebot message @xxxxxx  stehlampe an)


Telegram an sich funktioniert d.h. wenn ich den Set Befehl


set telebot message @xxxxxx  stehlampe an


absetze kommt diese Nachricht auch an.

Auch den Shelly Plug kann ich ohne Probleme schalten.

Ich vermute dass das DOIF einfach nicht mitbekommt wenn ich die Stehlampe einschalte weil es einfach das Event "on"  nicht bekommt. Könnt ihr mir bitte weiterhelfen? Ich weiss nicht wo der Fehler liegt. Vielen Dank für eure Hilfe im Voraus.

Grüße
sxx128

Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU

rob

Hallo.

Was passiert, wenn Du dies versuchst?

([shelly_wohnzimmer_stehlampe] eq "on")
(set telebot message @xxxxxx  stehlampe an)


Oder ggf. so?

(["shelly_wohnzimmer_stehlampe:on"])
(set telebot message @xxxxxx  stehlampe an)


Viele Grüße
rob

Otto123

Hi,

Ein list shelly_wohnzimmer_stehlampe könnte beim spekulieren helfen.
Oder Du schaust im Eventmonitor ob es den Event wirklich gibt.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

sxx128

Hallo vielen Dank für euere Hinweise,

ich schau so bald wie möglich danach und melde mich.

Grüße
sxx128
Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU

sxx128

#4
Hallo

leider funtioniert das DOIF immer noch nicht. Ich habe zunächst folgendes versucht:


(["shelly_wohnzimmer_stehlampe:on"])
(set telebot message @xxxxxx  stehlampe an)


so sieht das List des Devices aus:


nternals:
   CID        shellyplug_s_DBEE19
   DEF        shellyplug_s_DBEE19
   DEVICETOPIC shelly_wohnzimmer_stehlampe
   FUUID      5eb9246f-f33f-65e3-f3b0-338db9d9d1f4c33b
   IODev      MQTT2
   LASTInputDev MQTT2
   MQTT2_MSGCNT 51918
   MQTT2_TIME 2020-10-04 11:23:50
   MSGCNT     51918
   NAME       shelly_wohnzimmer_stehlampe
   NR         84
   STATE      off
   TYPE       MQTT2_DEVICE
   READINGS:
     2020-10-01 12:22:12   fw_ver          20200827-070306/v1.8.3@4a8bc427
     2020-10-01 12:22:12   id              shellyplug-s-DBEE19
     2020-10-01 12:22:12   ip              192.168.2.226
     2020-10-01 12:22:12   mac             D8BFC0DBEE19
     2020-10-01 12:22:12   model           SHPLG-S
     2020-10-01 12:22:12   new_fw          false
     2020-10-01 12:22:12   online          true
     2020-10-04 11:23:50   overtemperature 0
     2020-10-04 11:23:50   relay0          off
     2020-10-04 11:23:50   relay_0_energy  53488
     2020-10-04 11:23:50   relay_0_kWh     0.89
     2020-10-04 11:23:50   relay_0_power   0.00
     2020-10-04 11:23:50   state           off
     2020-10-04 11:23:50   temperature     28.89
     2020-10-04 11:23:50   temperature_f   84.00
Attributes:
   DbLogExclude .*
   IODev      MQTT2
   alexaName  TV
   comment    To get appropriate loadState values: Change the default limit "100" in readingList to your needs.
   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");;"<a href=\"http://".ReadingsVal($name,"ip","none")." \"target=\"_blank\">".FW_makeImage($onl)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a><div>Verbrauch: $cons / Total: $total/ Temp: $temp °C</div>"}
   event-on-change-reading on,off
   genericDeviceType switch
   model      shelly1_w_energy_meassuring
   readingList shellies/shellyplug-s-DBEE19/relay/0:.* state
  shellies/shellyplug-s-DBEE19/relay/0:.* relay0
  shellies/shellyplug-s-DBEE19/input/0:.* input0
  shellies/shellyplug-s-DBEE19/online:.* online
  shellies/announce:.* { $EVENT =~ m,..id...shellyplug-s-DBEE19...mac.*, ? json2nameValue($EVENT) : return }
  shellies/shellyplug-s-DBEE19/announce:.* { json2nameValue($EVENT) }
  shellies/shellyplug-s-DBEE19/relay/0/power:.* relay_0_power
  shellies/shellyplug-s-DBEE19/relay/0/power:.* { my $compare = $EVTPART0 < 100 ? "off":"on"; ReadingsVal($NAME,"loadState","off") ne $compare ? { 'loadState' => $compare } : return }
  shellies/shellyplug-s-DBEE19/temperature:.* temperature
  shellies/shellyplug-s-DBEE19/overtemperature:.* overtemperature
  shellies/shellyplug-s-DBEE19/relay/0/energy:.* relay_0_energy
  shellies/shellyplug-s-DBEE19/relay/0/energy:.* {'relay_0_kWh' => sprintf("%.2f",$EVENT/60/1000)}
  shellies/shellyplug-s-DBEE19/longpush/0:.* longpush_0
shellyplug_s_DBEE19:shellies/shellyplug-s-DBEE19/temperature_f:.* temperature_f
   room       Steckdosen,Wohnzimmer
   setList    relay0:on,off,toggle shellies/shellyplug-s-DBEE19/relay/0/command $EVTPART1
  off:noArg shellies/shellyplug-s-DBEE19/relay/0/command off
  on:noArg shellies/shellyplug-s-DBEE19/relay/0/command on
  x_update:noArg shellies/shellyplug-s-DBEE19/command update_fw
  x_mqttcom shellies/shellyplug-s-DBEE19/command $EVTPART1
   userReadings relay_0_energy_total:relay_0_energy:.* monotonic {ReadingsNum("$name","relay_0_energy",0)}
   userattr   lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0
   verbose    0
   webCmd     :


Im Eventmmonitor sehe ich keine Einträge. Könnt ihr das was erkennen was ich falsche mache. Das wäre super.

Grüße und Danke für eure Hilfe im Voraus.
sxx128
Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU

sxx128

Hallole

im Log habe ich folgendes gefunden:


MQTT2_DEVICE set shelly_wohnzimmer_stehlampe on


hilft euch das weiter ? Ich komme nicht auf die Lösung des Problems.

Grüße
sxx128
Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU

MadMax-FHEM

#6
event-on-change-reading on,off ist Quatsch und führt dazu, dass (verm.) kein Event kommt, ergo das DOIF nicht getriggert wird.

EDIT: noch mal bei event-on-change-reading nachlesen -> Regex bzgl. Readingname(n) und nicht Reading-Werten... ;)

Du sagst ja selbst, dass du im Eventmonitor nichts siehst...
Solange da nix kommt wird das DOIF nix machen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

sxx128

Hallo

danke für den Hinweis.

Ich vermute das hängt irgnedwie hiermit zusammen oder ?



shellies/shellyplug-s-DC4206/relay/0:.* state
  shellies/shellyplug-s-DC4206/relay/0:.* relay0
  shellies/shellyplug-s-DC4206/input/0:.* input0
  shellies/shellyplug-s-DC4206/online:.* online
  shellies/announce:.* { $EVENT =~ m,..id...shellyplug-s-DC4206...mac.*, ? json2nameValue($EVENT) : return }
  shellies/shellyplug-s-DC4206/announce:.* { json2nameValue($EVENT) }
  shellies/shellyplug-s-DC4206/relay/0/power:.* relay_0_power
  shellies/shellyplug-s-DC4206/relay/0/power:.* { my $compare = $EVTPART0 < 100 ? "off":"on"; ReadingsVal($NAME,"loadState","off") ne $compare ? { 'loadState' => $compare } : return }
  shellies/shellyplug-s-DC4206/temperature:.* temperature
  shellies/shellyplug-s-DC4206/overtemperature:.* overtemperature
  shellies/shellyplug-s-DC4206/relay/0/energy:.* relay_0_energy
  shellies/shellyplug-s-DC4206/relay/0/energy:.* {'relay_0_kWh' => sprintf("%.2f",$EVENT/60/1000)}
  shellies/shellyplug-s-DC4206/longpush/0:.* longpush_0
shellyplug_s_DC4206:shellies/shellyplug-s-DC4206/temperature_f:.* temperature_f


Hier müsste ich wahrscheinlich irgendwas definieren.  Das übersteigt mein Wissen aber beit weitem... Für Hilfe wäre ich wirklich dankbar.

Grüße
sxx128
Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU

rob

Hallo.

Nein, nein keine Sorge da musst eigentl. nicht ran  :) Schau mal bitte in der Attribute Liste unten. Da müsste hinter event-on-change-reading der Link sein "deleteattr" --> da klickst drauf. Die anderen Attribute lass bitte so.
Danach mal bitte mehrfach ein/ ausschalten und im Event-Monitor schauen, ob entspr. Meldungen erscheinen. Ggf. regaiert Dein DOIF schon.

Viele Grüße
rob

sxx128

Hallole zusammen, Hallo Rob

du hattest recht... vielen Dank für den Hinweis. Ich bekomme jetzt die Benachrichtigung   :D :D :D :D :D Das Problem ist jetzt nur wenn ich die Lampe jetzt ausschalte bekomme ich ununterbrochen eine Nachricht über Telegram das die Lampe ausgeschalten  wurde. So im Abstand von einer Minute. Lässt sich das beheben ?

Über eine Antwort würde ich mich sehr freuen.

Grüße
sxx128
Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU

Beta-User

Kann sein, dass die etwas intensivere Beschäftigung mit dem hier weiterhilft:
https://forum.fhem.de/index.php/topic,94060.msg1075460.html#msg1075460
Die Antwort auf die dort gestellte Frage ist nämlich nach wie vor offen:
ZitatVielleicht mag das ja jemand testen, verfeinern und ggf. so (generisch) notieren, dass man es auch für andere Shellies verwenden kann...?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

MadMax-FHEM

Ansonsten (mag bei MQTT andere Ursachen/Lösungen geben bzw. ist das hier [event-on-...] nur "Symptombekämpfung" [weil es wird ja u.U. trotzdem aktualisiert/kommuniziert):

event-on-change-reading und "Verwandte" noch mal "lernen"!!

Damit werden Events nur erzeugt, wenn sich was geändert hat...

UND: da dein DOIF wohl statt "nur" auf "on" auch auf "off" reagiert: auch da die RegEx verbessern...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

sxx128

Hallo zusammen,

ich habe jetzt das event-on-change-reading auf


.*


gesetzt.

So funktioniert das ganze wie ich will. Es wird tatsächlich nur noch einmal pro Event eine Nachricht geschickt.

Grüße
sxx128
Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU

Beta-User

...dir ist aber hoffentlich jetzt schon klar, dass das vermutlich nur die halbe Miete ist, oder?

Falls du meinst, das sei "fertig", kannst du den Thread auch als [gelöst] kennzeichnen (bitte nicht schließen!).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

sxx128

Hallo

ja das vermute ich dass das nur irgendwie hingemurkst ist. Aber so richtig ist mir einfach nicht klar was ich machen soll.

Grüße
sxx128
Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU