Hallo, dies ist mein erster Post, und ich habe das Forum auch schon einige Wochen lang nach einer Lösung durchsucht.
Könnt ihr mir verraten, warum das hier:
Zitatdefine Display_Laden notify StatusDisplay IF([StatusDisplay:powerLevel] <15 && [StatusDisplay:powerPlugged] ne true) (set Display_Ladegeraet on);; IF([Display_Ladegeraet] eq on && [StatusDisplay:powerPlugged] ne true) (set Display_Ladegeraet on);;IF([StatusDisplay:powerLevel] =100 && [StatusDisplay:powerPlugged] ne false) (set Display_Ladegeraet off)
nicht funktioniert wie ichs gerne hätte? Also präzise: Es passiert gar nichts.
Die Idee ist: bei jeder Aktualisierung der Display-Parameter wird der Ladestand geprüft, wenn er kleiner als 15 ist und noch nicht Lädt, dann geht das Ladegerät an. Um Funkeinstreuungen usw. vernachlässigen zu können wird im Anschluss geprüft ob die "Dumme"-Funksteckdose auch wirklich an ist, wenn sie soll, und nicht der Nachbar die gleiche Frequenz und Kanal zufällig ausgeschaltet hat. - Wenn das Display nicht lädt obwohl es sollte wird einfach noch einmal der Ein- befehl geschickt. Wenn 100% erreicht sind wird das Ladegerät abgeschaltet.
(Ich benutze lieber das "ne" und die Invertierte Bedingung, damit ein ggf. auftretendes anderes Ereigniss auch zur Ladung führt. Und das Display immer geladen wird. - Leider habe ich nämlich den Power-Taster versteckt ;).)
EDIT: Nach wechsel des Zwischenstecker-Aktors von IT zu HM ist das Problem verschwunden.
Hallo,
Fragen zu IF gehören in den Bereich Automatisierung.
Danke.
Grüße
Edith: Dein Titel muss noch korrigiert werden - if != IF
http://fhem.de/commandref_DE.html#IF
sagt:
(Vergleichs-)Operator ist -wie bei Perl- "==" und nicht der Zuweisungsoperator "="
Stringvergleich ne "false" und nicht ne false
Da ist aber ein bißchen Glaskugel wegen fehlender Infos bei....
Hallo,
so beim nochmaligen Durchsehen vermute ich das sich im Logfile vielleicht die eine oder andere Meldung verstecken könnte.
http://forum.fhem.de/index.php/topic,16311.0.html (http://forum.fhem.de/index.php/topic,16311.0.html)
mit der Bitte sich das mal durch zu lesen.
Es kann dabei helfen die Frage- Antwort-Spielchen zu verkürzen.
Danke.
Grüße
Krass, mit so einer schnellen Reaktion habe ich gar nicht gerechnet. ;D
Also, das = durch == zu ersetzen bringt mich auch nicht weiter, ich habe es zu Testzwecken schon mit ==, =, <,<<, usw versucht. Das Problem liegt hier m.M.N. bei dem auslesen des Readings, das funktioniert einfach nicht. Keine Ahnung warum... Log-File-Einträge würde ich gerne beisteuern, allerdings hab ich keins...
Wie lege ich ein neues an?
Der genannte Code ist vor hin auf einer Bahnfahrt aus dem Kopf hingeschrieben, aber jetzt habe ich noch einmal nach gesehen, genau so wie er da steht funktioniert er nicht.
Was hältst Du davon, wenn Du das notify mal mit trigger aufrufst und dann in das Log schaust?
S.27 dieses Pflicht!-Dokumentes: http://fhem.de/Heimautomatisierung-mit-fhem.pdf
Hallo,
man sollte sich die angebotenen Links schonmal durchlesen.
Grüße
Ich hab beides gelesen.
Per Trigger passiert das gleiche, das notify an sich funktioniert, habe ich mit set dummy 1 getestet.
Nach dem StatusDisplay aktualisiert ist der dummy 1.
Log hätte ich gerne aber ich habe einfach keines. Kann ich das zu Beginn aus versehen gelöscht haben?
Ich habe auch schon
Zitatdefine Display_Laden notify StatusDisplay IF([StatusDisplay:powerLevel] <15 && [StatusDisplay:powerPlugged] ne "true") (set Display_Ladegeraet on);; IF([Display_Ladegeraet] eq "on" && [StatusDisplay:powerPlugged] ne "true") (set Display_Ladegeraet on);;IF([StatusDisplay:powerLevel] ==100 && [StatusDisplay:powerPlugged] ne "false") (set Display_Ladegeraet off)
getestet. Gleiches Phänomen.
Wenn ich das ganze als at, oder sonstwas umbaue, dann siehts ähnlich aus. Ich behaupte, dass das Problem bei dem Auswerten der Readings liegt.
Das ist formal aber richtig?
[Device:Reading] wobei Reading genau so geschrieben wird wie im "list"?
Hallo,
hier mal die Kopie aus der verlinkten commandref:
ZitatDie Syntax für die Nutzung von Readings oder Internals (ein Internal wird durch ein & gekennzeichnet)
[<device>:<reading>:<format>|[<regulärer Ausdruck>]]
Und hier auch gleich ein Beispiel wie das aussehen könnte:
define check at +00:10 IF ([outdoor:humidity] > 70) (set switch1 off) ELSE (set switch1 on)
Da ich keine Codes IN der fhem.cfg bearbeite und auch IF nicht verwende bin ich hier leider raus.
Grüße
Zitat von: lukasbastelpeter am 26 September 2014, 13:45:23
Ich hab beides gelesen.
Per Trigger passiert das gleiche, das notify an sich funktioniert, habe ich mit set dummy 1 getestet.
Nach dem StatusDisplay aktualisiert ist der dummy 1.
Log hätte ich gerne aber ich habe einfach keines. Kann ich das zu Beginn aus versehen gelöscht haben?
Ich habe auch schon
getestet. Gleiches Phänomen.
Wenn ich das ganze als at, oder sonstwas umbaue, dann siehts ähnlich aus. Ich behaupte, dass das Problem bei dem Auswerten der Readings liegt.
Das ist formal aber richtig?
[Device:Reading] wobei Reading genau so geschrieben wird wie im "list"?
Hinter IF muss auf jeden Fall ein Leerzeichen stehen, damit es als FHEM-Befehl erkannt wird. Also IF (....
Als erstes musst du dich um deinen Log kümmern, denn da hättest du die passende Meldung gefunden, dass IF(... nicht bekannt ist.
Gruß
Damian
Das Beispiel habe ich per copy&paste bereits bei mir getestet und lediglich die "outdoor" und "humidity" ersetzt. Hat auch nicht funktioniert.
Hallo,
ZitatHat auch nicht funktioniert.
Ja das ist klar :o
ironieoffWenn es bei dir nicht klappt wäre evtl. mal ein Blick ins FHEM-Logfile gut - wie Damian schon geschrieben hat.
Hier
http://forum.fhem.de/index.php/topic,16311.0.html (http://forum.fhem.de/index.php/topic,16311.0.html)
hab ich mal zusammen geschrieben wie die Hilfesuchenden den Helfenden das Leben etwas leichter machen können.
grüße
Sorry, ich habe doch bereits mein Leid geklagt:
Ich habe kein Logfile! - Wie kann ich das nachträglich noch einmal anlegen?
(Das passt hier wahrscheinlich nicht so wirklich in den Thread)
Schau mal im Room Everything in dein "global".
Dort gibt es kein Attribut "logfile"?
Dann kannst Du das ja einfach anlegen und nach einem "shutdown restart" sollte das auch angelegt werden.
Hi, ne da stand tatsächlich einfach nichts!
Habe jetzt ein Backup restored, und einige Sachen wieder konfiguriert. Jetzt steht im Log das angehängte.
Ich habe erst das Ladegerät händisch aus gemacht, dann kam die Meldung unten, zu Testzwecken habe ich Ladestand < 20 in Ladestand < 100 geändert.
BTW: Ich habe jetzt da wieder ein attr. logfile, und ein logfite, aber wie kann ich mir das im Screen sichtbar machen lassen?
Also wie bekomme ich ein einsehbaren Menüeintrag?
Hallo,
WIE um Himmels willen hast du dein FHEM installiert?
Soweit ich weiß wird das FHEM-eigene Logfile immer automatisch angelegt und auf der linken Seite sollte du einen "Menüpunkt" Logfile finden.
So ist es zumindest bei ALLEN Geräten auf denen ich bisher FHEM installiert habe.
Egal ob FritzBox, RasPi, Cubieboard oder CubieTruck.
Grüße
Ja, genau, anscheinend ist 'was schief gegangen oder aber ich habe es aus versehen gelöscht... Ich habe jedenfalls kein menüeintrag. Ein Logfile habe ich jetzt wieder aber halt keinen passenden Menüeintrag.
Ich habe den IT-Aktor jetzt gegen eine HM-Aktor getauscht, das Problem scheint verschwunden.
Hallo,
ich wollte grade meine Frage oben umstellen - WAS hast du in der Konfig rumgepfuscht damit der Eintrag verschwindet.
Vermutlich gelöscht weil du nicht wusstest wofür das gut sein soll ;D
Wer weiß was du noch alles gelöscht hast - installier dir FHEM neu und vergiss in Zukunft das es eine fhem.cfg gibt.
Grüße
Edith: Lies dir mal bitte das durch http://forum.fhem.de/index.php/topic,16311.0.html (http://forum.fhem.de/index.php/topic,16311.0.html) und leg dir eine Signatur zu - danke.
In gefühlt jedem Post von Euch stand, dass ich das lesen soll. das habe ich sogar schon vor meinem ersten Post getan...
:)
Alles klar. Danke, dann kann das hier von mir aus geschlossen werden
Hallo,
ZitatIn gefühlt jedem Post von Euch stand, dass ich das lesen soll.
Ich hab das hier nur 2-mal gepostet - ok, einmal zu oft.
Aber beim zweiten Mal wollte ich nur auf den Teil mit der Signatur hinweisen.
Es gibt schon Unterschiede je nach Hardwareplattform - und eine Sig erspart einige Nachfragen.
Und schliessen ist hier nicht - aber du hast ja in dem verlinkten Beitrag bereits gelesen was der Fragesteller machen könnte ;)
Grüße
Aber was ist hier die Lösung? Ich habe einfach zu HM gewechselt, das Problem besteht weiterhin.
Puschel hat es schon mal geschrieben.
An Deiner Stelle würde ich die Konfig von FHEM sichern. Dann FHEM komplett löschen und from the scratch neu installieren.
Denn das der Logeintrag aus FHEM Web weg ist, kommt bestimmt nicht von alleine.
Und wer weiss, was da noch alles nicht so ist, wie es sein sollte.
EDIT:
Ich sehe gerade, dass Du den ersten Beitrag bearbeitet hast.
Was heisst denn "Nach wechsel des Zwischenstecker-Aktors von IT zu HM ist das Problem verschwunden"?
Damit ist das IF Problem gelöst?
Nur falls mal jemand ein ähnliches Problem hat.
Hallo,
dein Edith im ersten Beitrag:
ZitatEDIT: Nach wechsel des Zwischenstecker-Aktors von IT zu HM ist das Problem verschwunden.
Und nun:
ZitatIch habe einfach zu HM gewechselt, das Problem besteht weiterhin.
Hast du noch imemr das "Problem" dann bitte korrigier deinen ersten Beitrag - wenn das "Problem" erledigt ist kennzeichne den Beitrag bitte als Gelöst.
Und wie schon geschrieben - da wir nicht wissen was du noch alles gelöscht hast in deiner fhem.cfg - installier einfach mal neu.
Zitatwürde ich die Konfig von FHEM sichern
Aber nur den "Benutzerteil" der Konfig wieder einfügen - sonst ziehst du dir das "Problem" uU mit.
Grüße