ShellyFlood

Begonnen von andies, 03 Januar 2020, 18:56:29

Vorheriges Thema - Nächstes Thema

andies

Hat den irgendjemand im Betrieb? Ich bin gespannt, wie lange die Batterie durchhält. Ansonsten liefert er
Internals:
   CFGFN     
   CID        shellyflood_765AC7
   DEF        shellyflood_765AC7
   DEVICETOPIC shellyflood
   FUUID      5e0f7294-f33f-0211-ee2c-d400a99fa450e3ff
   IODev      Mosquitto
   LASTInputDev Mosquitto
   MSGCNT     6
   Mosquitto_MSGCNT 6
   Mosquitto_TIME 2020-01-03 18:44:31
   NAME       shellyflood
   NR         3530
   STATE      false (bat 93%)
   TYPE       MQTT2_DEVICE
   Helper:
     DBLOG:
       temperature:
         DbLog:
           TIME       1578073471.13653
           VALUE      14.62
   READINGS:
     2020-01-03 18:44:31   battery         93
     2020-01-03 18:44:31   flood           false
     2020-01-03 18:44:31   online          false
     2020-01-03 18:44:31   temperature     14.62
Attributes:
   IODev      Mosquitto
   readingList shellyflood_765AC7:shellies/shellyflood/online:.* online
shellyflood_765AC7:shellies/shellyflood/sensor/temperature:.* temperature
shellyflood_765AC7:shellies/shellyflood/sensor/flood:.* flood
shellyflood_765AC7:shellies/shellyflood/sensor/battery:.* battery
   stateFormat flood (bat battery%)
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

enno

#1
Moin

seit ca drei Monaten zwei Stück:
Internals:
   CID        shellyflood_76527C
   DEF        shellyflood_76527C
   DEVICETOPIC EG_K_Wassermelder
   FUUID      5db9c0a1-f33f-9270-e9fd-92e0bda444a89534
   IODev      myBroker
   LASTInputDev myBroker
   MSGCNT     56
   NAME       EG_K_Wassermelder
   NR         888
   STATE      false
   TYPE       MQTT2_DEVICE
   myBroker_MSGCNT 56
   myBroker_TIME 2020-01-03 15:06:50
   Helper:
     DBLOG:
       temperature:
         MYSQL:
           TIME       1578060393.52629
           VALUE      18.50
   READINGS:
     2019-11-21 10:42:42   battery         ok
     2020-01-03 15:06:33   batterylevel    100
     2020-01-03 15:06:33   flood           false
     2020-01-03 15:06:33   fw_ver          20190917-131645/v1.5.5@45259d52
     2020-01-03 15:06:33   id              shellyflood-76527C
     2020-01-03 15:06:33   ip              192.168.1.20
     2020-01-03 15:06:33   mac             DC4F2276527C
     2020-01-03 15:06:33   new_fw          false
     2020-01-03 15:06:50   online          false
     2020-01-03 15:06:33   temperature     18.50
Attributes:
   DbLogExclude .*
   DbLogInclude flood,temperature
   IODev      myBroker
   devStateIcon .*false:humidity@grey .*:humidity@red
   event-on-change-reading .*
   readingList shellyflood_76527C:shellies/shellyflood-76527C/online:.* online
shellyflood_76527C:shellies/announce:.* { json2nameValue($EVENT) }
shellyflood_76527C:shellies/shellyflood-76527C/sensor/temperature:.* temperature
shellyflood_76527C:shellies/shellyflood-76527C/sensor/flood:.* flood
shellyflood_76527C:shellies/shellyflood-76527C/sensor/battery:.* batterylevel
   stateFormat flood


Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

Beta-User

attrTemplate-Vorschlag:

# shellyflood using original firmware
name:shellyflood
filter:TYPE=MQTT2_DEVICE:FILTER=readingList=.*shellies.*
desc:shellyht using original firmware <br>Just adds stateFormat and icon
order:A_16a
par:ICON;ICON as set, defaults to temperature_humidity;{ AttrVal("DEVICE","icon","temperature_humidity") }
attr DEVICE icon ICON
attr DEVICE setList \
  x_update:noArg shellies/DEVNAME/command update_fw\
  x_mqttcom shellies/DEVNAME/command $EVTPART1
attr DEVICE readingList \
  shellies/DEVNAME/online:.* online\
  shellies/DEVNAME/sensor/temperature:.* temperature\
  shellies/DEVNAME/sensor/flood:.* flood\
  shellies/DEVNAME/sensor/battery:.* batteryPercent
attr DEVICE stateFormat flood (bat batteryPercent%)
deletereading -q DEVICE (?!associatedWith).*
set DEVICE x_mqttcom announce
attr DEVICE model shellyflood

Das icon ist kein ernst gemeinter Vorschlag, Vorschläge erbeten ;) ; batteryPercent sollte "kompatibler" sein (siene diese Vereinheitlichungsdiskussion).
Wenn das Zustimmung findet, würde ich auch den ht entsprechend anpassen (da war das feedback zur Batterielebensdauer aber eher durchwachsen, soweit ich mich entsinne).

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, 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

TomLee

Zitatseit ca drei Monaten zwei Stück:

Und noch 100%. Sind das noch die ersten Batterien ?

Wie oft kommt denn die Temperatur rein, bei jeder Änderung ?

Gruß

Thomas

enno

#4
Moin Thomas,

Zitat von: TomLee am 03 Januar 2020, 19:41:03
Wie oft kommt denn die Temperatur rein, bei jeder Änderung ?

Ja ist noch die erste Batterie und nein nur zwei mal pro Tag bei mir.

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

Mad

Hallo zusammen, ich habe auch zwei shellyflood, bekomme sie aber nicht in FHEM eingebunden.
Hab mehrere MQTT Geräte im Einsatz und sehe den shellyflood auch im MQTT.fx. Wie binde ich die floods in FHEM ein?
Bräuchte da etwas starthilfe :-)

andies

hier meine Konfiguration. Deine wird anders sein, weil das devices anders heisst:
defmod shellyflood MQTT2_DEVICE shellyflood_765AC7  # <== aendern
attr shellyflood IODev Mosquitto  # <=== aendern!!!
attr shellyflood readingList shellyflood_765AC7:shellies/shellyflood/online:.* online\
shellyflood_765AC7:shellies/shellyflood/sensor/temperature:.* temperature\
shellyflood_765AC7:shellies/shellyflood/sensor/flood:.* flood\
shellyflood_765AC7:shellies/shellyflood/sensor/battery:.* battery_no
attr shellyflood stateFormat flood
attr shellyflood userReadings battery {if (ReadingsNum($name,  "battery_no", 0)>80) {return "ok"} else {return "low"}}
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

ach so, Beta-User hat ja ein template, das sollte sich von selbst anlegen!
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Mad

#8
Danke für die flotte Antwort. Ich habe das Problem, dass wenn ich den shellyflood als mqtt2 device anlege, mir kein shellyflood in den templates angezeigt wird. Es wird u.a. nur ein shelly1 angezeigt...

Wie und wo füge ich denn das template von beta-user ein?
Einfach in die mqtt2.template datei einfügen? Hab es so versucht, nach Neustart, kann ich dieses template auch nicht im device auswählen...

TomLee

Hallo,

das Template wird nicht angezeigt weil du das Device von Hand angelegt hast und somit kein passendes ReadingList-Attribut existiert.
In dem Fall kannst du einfach das Template über die Kommandozeile aufrufen/anwenden:

set shellyflood attrTemplate shellyflood

Oder das von Hand angelegte Device wieder löschen und den Shellyflood automatisch anlegen lassen, indem du in vermutlich (hab keinen) einmal auslösen lässt.
Dann wird auch das Template angezeigt.

Gruß

Thomas

Mad

Tja, auch das funktioniert irgendwie nicht...
Hab den shelly auch mehrfach "aufgeweckt". Im MQTT.fx taucht er direkt auf. Fhem reagiert gar nicht...

Beta-User

Da fehlte was (bei dem HT auch...), s.u....

Hab's eben gefixt, update kommt morgen, bzw., wer's gleich haben will:
{ Svn_GetFile("FHEM/lib/AttrTemplate/mqtt2.template", "FHEM/lib/AttrTemplate/mqtt2.template", sub(){ AttrTemplate_Initialize() }) }

Zitat von: andies am 21 März 2020, 22:40:41
ach so, Beta-User hat ja ein template, das sollte sich von selbst anlegen!
Das template war auch schon länger in der file, allerdings wird damit auch nichts "von selbst" angelegt, schon gleich nicht, wenn man das Device selbst von Hand anlegt und keine readingList vorhanden ist...

(@mad hat das vermutlich von Hand gemacht, weil er einen anderen Server nutzt als MQTT2_SERVER und das "Sortiertemplate" nicht nutzen will...? Wenn du das so machst wie von TomLee vorgeschlagen, mußt du halt jeweils den DEVNAME eingeben können (das hatte gefehlt...). Wert sollte aus den Infos zu entnehmen sein, die du in MQTT.fx siehst, in dem RAW von andies ist das "shellyflood").
Server: HP-elitedesk@Debian 12, 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

Mad

Hallo Beta-User,
danke für die Nachricht. Schau dir doch bitte mal meine screenshots an. Vielleicht erkennst du das Problem?!

TomLee

Steht was im LogFile ?

Passwort (wenn eingerichtet) vergessen in den MQTT-Einstellungen des Shellyflood einzutragen ?

Mad

Im Logfile steht nichts zum flood. Passwort ist gesetzt, sonst könnte ich ihn ja nicht im MQTT.fx sehen.