Hauptmenü

Readings

Begonnen von rieders, 22 September 2020, 18:04:14

Vorheriges Thema - Nächstes Thema

rieders

Hallo

Ich habe eine Frage.
Ich habe unter Readings von MQTT - Greät diese Information  Info  {"Time":"2020-09-22T16:56:25","Switch1":"ON"}.
Da es sich bei dem Gerät um ein Bewegungsmelder handelt möchte ich die Zeit seperat ausgeben lassen.
Mein gedanke ist das ich eine Benachrichtigung bekomme wenn keine bekannte (Handy) Person zuhause ist.
Ich möchte das mit einem Türkontakt und dem Bewegungsmelder verbinden um Fehlalarme zu vermeiden.

Wie kann ich die Zeit separieren.
Versucht habe ich es mit {sprintf("letzte erkannte Bewegung: ", ReadingsVal($name,"Info",undef) )}

Ich würde mich über Hilfe freuen

Grüße
André

Otto123

#1
Hallo André,

das ist Json Format, das geht anders relativ einfach. Wenn Du mehr Infos lieferst kann Dir konkreter Hilfe zu Teil werden.

Also bitte ein list vom Gerät :) -> Wie geht das?

Edit:
Ansonsten eine sehr profane und sehr spezifische Lösung:  ;)
{substr(ReadingsVal($name,"Info",undef),9,19)}

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

rieders

Hallo Otto

Danke für die Hilfe

Hier ist meine Raw definition.

defmod Bewegungsmelder MQTT_DEVICE
attr Bewegungsmelder DbLogExclude .*
attr Bewegungsmelder IODev mqtt
attr Bewegungsmelder alias Bewegungsmelder
attr Bewegungsmelder room Anwesenheit
attr Bewegungsmelder stateFormat {sprintf("letzte erkannte Bewegung: ", ReadingsVal($name,"Info",undef) )}
attr Bewegungsmelder subscribeReading_Info Bewegungsmelder/tele/SENSOR
attr Bewegungsmelder subscribeReading_state Bewegungsmelder/stat/POWER
attr Bewegungsmelder webCmd postEvent OFF:postEvent closed

setstate Bewegungsmelder letzte erkannte Bewegung:
setstate Bewegungsmelder 2020-09-22 18:50:39 Info {"Time":"2020-09-22T17:50:38","Switch1":"ON"}
setstate Bewegungsmelder 2020-09-22 18:50:34 state OFF
setstate Bewegungsmelder 2020-09-22 18:50:39 transmission-state incoming publish received

Grüße
André

OdfFhem

In Verbindung mit MQTT_DEVICE wird oft ein zusätzliches FHEM-Device vom TYPE expandJSON angewendet; damit sollte man die gewünschten Readings erhalten ... s. beispielsweise https://forum.fhem.de/index.php/topic,100187.msg936219.html#msg936219

Sollte man stärker auf MQTT setzen, macht vermutlich der Einsatz der MQTT2-Devices vieles leichter ...

Das von Otto123 gewünschte list erhält man übrigens via list Bewegungsmelder und fügt das Ergebnis mit Hilfe des #-Symbols in die Antwort ein ...

rieders

Hallo

Vielen Dank für die Hilfe.
Ich habe das expand Json so gemacht, damit habe ich alle Readings einzeln.

defmod ej3_3 expandJSON Bewegungsmelder*:.*:.{.*}
attr ej3_3 DbLogExclude .*
attr ej3_3 alias ej3_3

setstate ej3_3 2020-09-23 04:18:15
setstate ej3_3 2020-09-22 20:37:59 state active

Muss ich für jedes mqtt device ein expandJson  anlegen, oder kann ich mehrer Divices anbinden?

Vielen Dank für die Hilfe

Grüße André

OdfFhem

Der unmittelbar hinter Bewegungsmelder stehende * hat wohl keine Bedeutung, da er sich nur auf das r bezieht ...

Um expandJSON für mehrere MQTT-Devices zu verwenden, muss Bewegungsmelder durch einen regulären Ausdruck ersetzt werden, der weitere MQTT-Devices einschließt ...

Otto123

Guten Morgen André,

bitte lies noch mal aufmerksam meinen Link in #1 - sonst hast Du es schwer hier mit Support. ::)

Bei MQTT_DEVICE kann ich Dir nicht helfen, ich setze nur MQTT2_xxx ein.

Wie OdfFHEM schon schrieb fängst Du mit deinem regExp Bewegungsmelder* sowas hier
Bewegungsmelder
Bewegungsmelderr
Bewegungsmelderrrr
wolltest Du das?
regExp kann man z.B. hier prüfen https://regex101.com/

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

rieders

Hallo

Vielen Dank nochmal für die Hilfe.
Ich habe jetzt die Werte einzeln unter Reading.
Somit kann ich ja die Werte in einem DOIF zusammen auswerten und dann einen Alarm auslösen.

Ich habe ein LSC Sirene von "Action" umgebaut  (ESP 12E) und in Fhem intigriert.
Gibt es eine Möglichkeit die Sirene für 30 sek. blinken zu lassen?
Der Lautsprecher ist per PWM regelbar.

Vielen Dank nochmal an eure Hilfe.

Grüße
André



Otto123

Zitat von: rieders am 23 September 2020, 18:11:15
Ich habe ein LSC Sirene von "Action" umgebaut  (ESP 12E) und in Fhem intigriert.
Gibt es eine Möglichkeit die Sirene für 30 sek. blinken zu lassen?
Was erwartest Du da jetzt für eine Antwort? Ja nein vielleicht?

Wir könnten jetzt hin und her raten was auf dem ESP läuft - oder Du könntest ein list liefern.

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

rieders

Hallo Otto


Vielen Dank für die Hilfe.
Erwarten tue ich nichts.

Auf dem esp12e von der Sirene habe ich derzeit tasmota.

Grüße
Anldré

Otto123

Und wieder per MQTT_DEVICE ? Meine spitze Frage war deshalb, weil Du sehr sehr sparsam mit Deinen Informationen bist!
Geräte mit setextensions können blink - aber wie es bei MQTT_DEVICE ist weiß ich nicht.

Du kannst es natürlich auch mit einem DOIF lösen.

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

Beta-User

Zitat von: Otto123 am 23 September 2020, 20:18:34
Geräte mit setextensions können blink - aber wie es bei MQTT_DEVICE ist weiß ich nicht.
Auch MQTT_DEVICE unterstützt SetExtensions, aber da muß man es aktiv "zuschalten".

Zitat von: Otto123 am 23 September 2020, 20:18:34
Und wieder per MQTT_DEVICE ?
@rieders:
Du scheinst erst in das Thema MQTT (in FHEM) einzusteigen. Von daher würde ich den "Schubs" von Otto nochmal wiederholen: Mit MQTT2_DEVICE ist vieles grade für Einsteiger sehr viel einfacher...
(wenn du den mosquitto brauchst: dann geht es über MQTT2_CLIENT (=> Wiki dazu lesen, da steht auch, wie man sich das Leben etwas erleichtern kann...))
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