FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Wolfgang Hochweller am 25 Juni 2016, 11:18:00

Titel: Reading Ergebnisse korrigieren
Beitrag von: Wolfgang Hochweller am 25 Juni 2016, 11:18:00
Ich bin noch recht hilflos ....
Ich sehe folgendes Bild, siehe Anhang.
So weit,  so gut. Was ich wirklich sehen will, ist in der Alarmzeile : Offen ode Geschlossen.
Wie mache ich das am besten ?
Titel: Antw:Reading Ergebnisse korrigieren
Beitrag von: Ellert am 25 Juni 2016, 11:30:31
Schau Dir mal das Attribut stateFormat an. http://fhem.de/commandref_DE.html#attributes
Titel: Antw:Reading Ergebnisse korrigieren
Beitrag von: MadMax-FHEM am 25 Juni 2016, 11:32:05
Hallo,

um welches Gerät handelt es sich?

Mach doch mal ein 'list Gerätename' oben in dem "Befehlsfenster" deines fhem und poste das Ergebnis in "code-tags", das '#' in der "Menüleiste"...

Ansonsten wird es schwer mit Hilfe.

Eventuell hilft 'eventMap':

http://www.fhemwiki.de/wiki/EventMap (http://www.fhemwiki.de/wiki/EventMap)

Aber bei dem wenigen Input wird nicht viel Output (Hilfe) kommen...

Gruß, Joachim
Titel: Antw:Reading Ergebnisse korrigieren
Beitrag von: ernst1024 am 25 Juni 2016, 12:36:17
zusätzlich zu dem was MadMax geschrieben hat, sag doch auch was du gerne sehen möchtest. Also nix sehen wenn alles ok und nur eine Nachricht wenn nicht? Evtl ein icon für zu wenn zu und eins für offen wenn offen?
Titel: Antw:Reading Ergebnisse korrigieren
Beitrag von: Wolfgang Hochweller am 25 Juni 2016, 19:37:35
Das ist ein Philio Multisensor. Ist das Tor geschlossen, sehe ich folgende Readings ( Anhang ).
Ist das Tor offen, aendert sich richtigerweise die Alarmzeile in  : AccessControl: Window/Door is open, arg 00.

In der Uebersicht zeigt mir das Device seinen 'state' an, TRANSMIT_NO_ACK.
Was ich stattdessen sehen will, ist obige Alarmzeile. Aber nicht den jeweils langen Text, sondern nur ein *offen' oder 'geschlossen.

Die anderen Ergebnisse des Multisensors sind erstmal uninteressant.

Hoffe , das wird klarer ...
Danke,   Wolfgang
Titel: Antw:Reading Ergebnisse korrigieren
Beitrag von: Ellert am 25 Juni 2016, 20:14:56
Wie gesagt mit stateFormat, prinzipiell etwa so:
attr <Name> stateFormat {
  if (ReadingsVal($NAME,"AccessControl","nix") eq "Window/Door is open, arg 00") {
    return "offen"
  } elsif (ReadingsVal($NAME,"AccessControl","nix") eq "<Zeichenkette für "geschlossen">") {
    return "geschlossen"
  }
}

ungetestet, Syntax ggf. unvollständig
Titel: Antw:Reading Ergebnisse korrigieren
Beitrag von: MadMax-FHEM am 25 Juni 2016, 20:17:09
Transmit_no_ack heißt ja, dass die Verbindung nicht gut ist bzw. mindestens das letzte Kommando nicht richtig übertragen wurde...

Vielleicht erst mal das sauber hinkriegen und sehen was dann im state steht vielleicht steht ja dann drin was du willst...

Wenn nicht, dann mal mit den anderen Hinweisen weiter suchen/probieren.

Schlimmstenfalls einen dummy anlegen und dann per notify dort setzen was immer du gerne hättest...

Allerdings Screenshots sind nicht (immer) optimal...

Ein 'list device_name' hier in "code-tags" gepostet ist deutlich besser...

Gruß, Joachim
Titel: Antw:Reading Ergebnisse korrigieren
Beitrag von: Wolfgang Hochweller am 25 Juni 2016, 22:12:01
Danke fuer die Hilfe, das hier funktioniert fuer stateFormat:
{
  if (ReadingsVal("Garagensensor","alarm","") eq "AccessControl: Window/Door is open, arg 00") {
    return "offen"
  } elsif (ReadingsVal("Garagensensor","alarm","") eq "AccessControl: Window/Door is closed, arg 00") {
    return "geschlossen"
  }
}

Das Transmit_no_ack stoert nicht weiter, das aendert sich auch nicht, wenn ich den Sensor neben den Gateway lege.
Kann sein , dass ich falsch liege, aber hier geht die Kommunikation ja eigentlich immer nur vom Sensor zum Gateway.
Zumindest funktioniert es zuverlaessig.

Danke,    Wolfgang