[gelöst] Werte auslesen und per message senden [erledigt]

Begonnen von SHOFHEM, 04 August 2016, 19:36:04

Vorheriges Thema - Nächstes Thema

SHOFHEM

Hallo und schönen guten Tag,

seit ca. 4 Wochen beschäftige ich mich mit dem Thema FHEM und Alarmanlage. Ich habe schon einige Hürden hinter mir, im Moment scheitere ich an folgenden Problem und finde auch mit vielen Suchen keinen Ansatz. Ich habe diverse Fensterkontakt, die einen Einbruch melden können. Per Zeitfunktion wird die Alarmanlage scharf geschalten und das DOIF n_Alarm_Tuer sendet mir auch brav eine Nachricht.
Der Wunsch ist jetzt zu wissen welche Tür den Alarm auslöst. Ich habe dazu einen Dummy "Wer" definiert, STATE wird mit dem entsprechenden Wert belegt, das funktioniert auch noch. Die Frage ist jetzt wie kann ich den aktuellen Wert von  WER "STATE" per message versenden?

define Wer dummy
define n_Wer notify n_Tuer_auf:cmd_event:.* set Wer %EVTPART1

define n_Alarm_Tuer DOIF (([Alarm_scharf] eq "ja") and ([Tuer_auf] eq "ja"))(set Alarm ja;;set telegramS message Einbruch Tür Wer: $state)

Momentan schauen die Befehle wie beschrieben aus. Ich erhalte die folgende Meldung gesendet "Einbruch Tür Wer: $state" Da sollte aber stehen Einbruch Tür XXX

Ich danke jetzt schon allen, die mir antworten.

Stefan




Ellert

Die Befehlsreferenz gibt auf die meisten Fragen eine Antwort  ;)
Schau mal unter den Perl-Besonderheiten und den Erläuterungen zum set-Befehl nach.

Wo hast Du dieses Beispiel her?
set telegramS message Einbruch Tür Wer: $state

Konntest Du die Antwort finden?

Nebenbei: Setz Deinen Code bitte in Code Tags, dann ist er lesbarer.

SHOFHEM

Hallo Ellert.

ich bin nicht nur bei FHEM neu, sondern auch im Forum. Das mit den Code Tags habe ich jetzt gefunden.  :)
Die Lösung für mein Problem leider noch nicht!

set telegramS message Einbruch Tür

Diese Nachricht funktioniert. Ich möchte aber den Wert aus dem Dummy "Wer", der dort in STATE steht hinter Einbruch ausgeben.

Gruß S.


Amenophis86

Was er meint ist hier: http://fhem.de/commandref_DE.html#perl besonders auf Sachen wie "Value" und "ReadingsVal" achten.

Weiterhin kann ich dir dieses Modul empfehlen: http://fhem.de/commandref.html#Alarm Da kannste dir die Arbeit sparen und hast noch viele andere tollen Funktionen ;)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Ellert

Zitat von: SHOFHEM am 04 August 2016, 21:59:43
Hallo Ellert.

ich bin nicht nur bei FHEM neu, sondern auch im Forum. Das mit den Code Tags habe ich jetzt gefunden.  :)
Die Lösung für mein Problem leider noch nicht!

set telegramS message Einbruch Tür

Diese Nachricht funktioniert. Ich möchte aber den Wert aus dem Dummy "Wer", der dort in STATE steht hinter Einbruch ausgeben.

Gruß S.
Willst Du das Internal verwenden oder das Reading des Gerätestatus?

Was ist der Grund, dass die Angaben in der Befehlsreferenz nicht geholfen haben?

Damian

#5
Zitat von: SHOFHEM am 04 August 2016, 19:36:04
Hallo und schönen guten Tag,

seit ca. 4 Wochen beschäftige ich mich mit dem Thema FHEM und Alarmanlage. Ich habe schon einige Hürden hinter mir, im Moment scheitere ich an folgenden Problem und finde auch mit vielen Suchen keinen Ansatz. Ich habe diverse Fensterkontakt, die einen Einbruch melden können. Per Zeitfunktion wird die Alarmanlage scharf geschalten und das DOIF n_Alarm_Tuer sendet mir auch brav eine Nachricht.
Der Wunsch ist jetzt zu wissen welche Tür den Alarm auslöst. Ich habe dazu einen Dummy "Wer" definiert, STATE wird mit dem entsprechenden Wert belegt, das funktioniert auch noch. Die Frage ist jetzt wie kann ich den aktuellen Wert von  WER "STATE" per message versenden?

define Wer dummy
define n_Wer notify n_Tuer_auf:cmd_event:.* set Wer %EVTPART1

define n_Alarm_Tuer DOIF (([Alarm_scharf] eq "ja") and ([Tuer_auf] eq "ja"))(set Alarm ja;;set telegramS message Einbruch Tür Wer: $state)

Momentan schauen die Befehle wie beschrieben aus. Ich erhalte die folgende Meldung gesendet "Einbruch Tür Wer: $state" Da sollte aber stehen Einbruch Tür XXX

Ich danke jetzt schon allen, die mir antworten.

Stefan
statt $state müsstest du [Wer] verwenden. Allerdings lässt sich dein notify sicherlich auch gleich mit DOIF abdecken.

Gruß
Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

SHOFHEM

Hallo Damian,

vielen Dank für deine Antwort. Wie gesagt ich bin Newbie und hab noch so meine Probleme.
der Code sieht jetzt so aus.

define n_Alarm_Tuer DOIF (([Alarm_scharf] eq "ja") and ([Tuer_auf] eq "ja"))(set Alarm ja;;set telegramS message Einbruch Tür [n_Wer])

Die Meldung die ich erhalte lautet "Einbruch Tür 2016-08-05 09:14:54"

Welche Argumente muss ich noch anfügen, dass STATE angezeigt wird?

VIIIEEELLLLEN Dank

S.

SHOFHEM

#7
Hallo Ellert,

ich dachte das Internal und das Reading haben den identischen Wert (siehe Bild Antwort an Damian). Nach dem letzten Test habe ich gelernt, dass das nicht so ist. Ich möchte das Internal STATE auslesen.

Gruß Stefan


Otto123

Warum schreibst Du [n_Wer] wenn Du [Wer] wissen willst?
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

SHOFHEM

Hallo Otto,

vielen Dank für den Tipp, da hatte sich bei mir im Kopf was quergelegt.

Jetzt klappts!!


Danke an alle

Stefan

P.S. Muss ich um den Forumregeln zu entsprechen etwas am Status des Beitrages ändern??


Amenophis86

den Post Titel auf [erledigt] setzen.

Freut mich, dass es geklappt hat. Und wie du siehst führen viele Wege nach Rom :)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

RadioJames

Zitatden Post Titel auf [erledigt] setzen.

Mir hat man gesagt "auf [gelöst] setzen". So sieht man es auch oft. Wäre schon und übersichtlich, wenn man da einheitlich bliebe.
There are 10 kind of people. Those who understand binary and those who don't.

Amenophis86

Ob das den Bock fett macht? Man kann froh sein, wenn es überhaupt geändert wird :)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...