FHEM Forum

FHEM => Automatisierung => Thema gestartet von: s.noller am 21 Dezember 2013, 09:59:36

Titel: Warum wird das 'at' nicht ausgeführt?
Beitrag von: s.noller am 21 Dezember 2013, 09:59:36
Hallo allerseits,
ich habe ein 'at' Kommando definiert:
{if (ReadingsVal("Temp1Stall","temperature",99) >3) {fhem("set switchStall off")} {""}}
Wenn ich das von Hand kopiere und ausführen lasse funktioniert es einwandfrei. Wird aber offenbar nicht automatisch ausgeführt/überwacht.
Was mache ich falsch?
Danke und Gruss und frohe Weihnachten!
Stephan
Titel: Antw:Warum wird das 'at' nicht ausgeführt?
Beitrag von: rudolfkoenig am 21 Dezember 2013, 10:39:12
ZitatWas mache ich falsch?
Das koennen wir nicht wissen, da wir nur eine Haelfte der Definition sehen.

ZitatWird aber offenbar nicht automatisch ausgeführt/überwacht.
Wir wissen auch nicht, warum du zu diese Assage kommst.

Bitte dich in unsere Lage zu versetzen, und dabei nicht voraussetzen, dass wir allwissend sind oder von der NSA Info kriegen :)
Titel: Antw:Warum wird das 'at' nicht ausgeführt?
Beitrag von: s.noller am 21 Dezember 2013, 12:29:04
ok sorry - das ist der ganze Config-Eintrag:

attr StallHeizung room Stall
define StallHeizungoff notify {if (ReadingsVal("Temp1Stall","temperature",99) >3) {fhem("set switchStall off")} {""}}\

In den Logfiles ist nichts zu finden.
Titel: Antw:Warum wird das 'at' nicht ausgeführt?
Beitrag von: rudolfkoenig am 21 Dezember 2013, 13:13:05
Das ist weder ein at, noch ein korrekt definiertes notify.
Titel: Antw:Warum wird das 'at' nicht ausgeführt?
Beitrag von: s.noller am 21 Dezember 2013, 17:24:54
ok, ist mir jetzt auch aufgefallen - so ist es korrekter, oder?

define StallHeizungoff notify switchstall {if (ReadingsVal("Temp1Stall","temperature",99) >3) {fhem("set switchStall off")} {""}}\
Titel: Antw:Warum wird das 'at' nicht ausgeführt?
Beitrag von: Puschel74 am 21 Dezember 2013, 17:57:45
Hallo,

Zitatso ist es korrekter, oder?

die Definition eines notify an sich vielleicht - wenn switchstall korrekt definiert ist und irgendwas sendet das FHEM versteht.

Was den Rest des Codes anbelangt oder was das mit einem "at" zu tun haben soll - man beachte den Beitrags-Titel - da bin ich noch am grübeln.
Zumal mir das
Zitat{fhem("set switchStall off")} {""}
nicht viel sagt - zumindest der Schluss nicht.

Grüße
Titel: Antw:Warum wird das 'at' nicht ausgeführt?
Beitrag von: s.noller am 21 Dezember 2013, 18:10:52
Stimmt, das "at" im Betreff war einfach falsch gewählt, sorry. Ich beschreibe vll. einfach mal kurz was ich machen will: Es geht darum die Heizung im Häschenstall in Abhängigkeit vom dort befindlichen Temparatursensor zu schalten. Soweit ich es sehen konnte, ist das mit der Standard-Syntax von "notify" nicht möglich (weil man nicht mit grösser/kleiner arbeiten kann), deshalb habe ich den Perl-Code eingefügt (zugegeben, mehr oder weniger aus fhem für Anfänger PDF abgetippt).
Hast Du/Ihr eine Idee wie man das besser löst?
Titel: Antw:Warum wird das 'at' nicht ausgeführt?
Beitrag von: Puschel74 am 21 Dezember 2013, 18:41:25
Hallo,

ZitatHast Du/Ihr eine Idee wie man das besser löst?
Klar lass mal loslegen  ;)

Zitatdie Heizung im Häschenstall
Dass nenn ich mal süss - die niedlichen kleinen Schnüffler  ;D

Zuerst müssen wir klären was
Zitatswitchstall
ist - oder sein sollte.
Ein Schalter für die Heizung im Stall? Würde mich wundern wen der was senden würde - ich vermute eher der will was gesendet bekommen  8)
Also das notify würde anschlagen wen switchstall was senden würde - was ich aber nicht glaube.

Wen du dir eine Signatur zulegen würdest müssten wir jetzt nicht die verwendete Hardware abfragen  ::)
Aber ich versuche mal was "basteln".

define Stall_Heizung notify Temp1Stall:temperature.* {
  if (ReadingsVal("Temp1Stall","temperature",99) > "3.0") {
    fhem("set switchStall off") if (Value("SwitchStall") ne "off");
  }
  else {
    fhem("set switchStall on") if (Value("SwitchStall") ne "on");
  }
}

Das ganze so in die fhem.cfg kopiert bringt mit Sicherheit FEHLERMELDUNGEN da ich mich nicht um / und ;; am Zeileende kümmere da ich das DEF eines notify bearbeite.

ZitatSoweit ich es sehen konnte, ist das mit der Standard-Syntax von "notify" nicht möglich
Wo hast du das gesehen?
Mit dem Beispielcode von oben müsste sich doch was anfangen lassen - oder nicht?

Grüße
Titel: Antw:Warum wird das 'at' nicht ausgeführt?
Beitrag von: s.noller am 22 Dezember 2013, 13:11:46
Tausend Dank! Hat so (mit minimalen Modifikationen) funktioniert  :)