Hauptmenü

Fragen zu AND und OR

Begonnen von M_I_B, 28 Juni 2016, 15:53:04

Vorheriges Thema - Nächstes Thema

Ellert

... aus der Befehlszeilenreferenz zum DOIF:

ZitatDa die Definitionen im Laufe der Zeit recht umfangreich werden können, sollten die gleichen Regeln, wie auch beim Programmieren in höheren Sprachen, beachtet werden. Dazu zählen: das Einrücken von Befehlen, Zeilenumbrüche sowie das Kommentieren seiner Definition, damit man auch später noch die Funktionalität seines Moduls nachvollziehen kann.

Das Modul unterstützt dazu Einrückungen, Zeilenumbrüche an beliebiger Stelle und Kommentierungen beginnend mit ## bis zum Ende der Zeile. Die Formatierungen lassen sich im DEF-Editor der Web-Oberfläche vornehmen.


ZitatIch wusste gar nicht, das es so etwas in FHEM gibt *DuckUndWeg*

Schwer zu glauben, ist es nicht mehr eine "Beratungsresistenz"?

Für mich ist der DEF-Editor (codemirror) ein vollwertiger Ersatz für einen externen Editor,
siehe: https://forum.fhem.de/index.php/topic,45373.0.html

M_I_B

#16
Zitat von: Ellert am 28 Juni 2016, 19:26:46Schwer zu glauben, ist es nicht mehr eine "Beratungsresistenz"?
Was soll nun das schon wieder? Erst einmal vollkommen OT, zum anderen echt komisch, das in diesem Forum immer in irgend einer Form an Stelle von Hilfe lieber gestänkert wird ... das nervt ungemein >:(

EDIT: So, mal schnell das Thema int. Editor Quergelesen, um auch mal OT zu labern: So lange man nur ein paar Geräte hat und in einer einzigen Datei (fhem.cfg) rumwurschtelt, mag dieser interne Editor ganz nett sein. Aber bei einem großen System mit vielen includierten CFG's ist der int. Editor unbrauchbar, da die includierten CFG's ignoriert werden und nur über viel Gehampel aufrufbar sind ...
Und: Natürlich kenne ich den int. Editor. Aber das der auch "DEF-Editor" genannt wird, war mir unbekannt, da ich den nicht nutze...

Icinger

ZitatEditor Quergelesen, um auch mal OT zu labern:

Wohl nicht richtig an der falschen Stelle gelesen.....Du meinst vermutlich den Editor unter "Edit Files...."

Elert meint den Editor direkt im Device :) (Siehe Anhang)

Damit ersparts du dir das ständige Reloaden der Config, dem Def-Editor ist egal, aus welchem CFG-Konstrukt das Device ist, und du bekommst direkt beim Klick auf "Modify xxx" die etwaigen Fehlermeldungen.

Just my 2 cents
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

CoolTux

Und includierte cfg files ist ja sowas von Old School. Da kannst auch noch mit Win 3.11 rum machen  ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

M_I_B

Zitat von: Icinger am 28 Juni 2016, 19:54:28Wohl nicht richtig an der falschen Stelle gelesen.....Du meinst vermutlich den Editor unter "Edit Files...."
Elert meint den Editor direkt im Device :) (Siehe Anhang)
Jupp, da hast Du vollkommen recht: Ich meinte den "Edit Files". Den "anderen" Editor kenne ich tatsächlich nicht (bis jetzt), da ich nie auf die Idee gekommen bin, DOIF oder andere Konstrukte direkt in FHEM zu editieren, geschweige denn nach einer solchen Möglichkeit zu suchen, da ich schon immer, auch in anderen Zusammenhängen, mit Notepad++ gearbeitet habe...

Dann revidiere ich meine vorherige Aussage wegen Unkenntnis und nehme alles zurück ...

Dennoch fällt mir gerade beim Ausprobieren des Editors ein Manko auf, welches sich natürlich mit Notepad++ nicht ergibt: Wenn ich bestimmte Teile, wie z.B. diese besagten DOIF mehrfach benötige, geht das in Notepad++ blitzschnell. Mit dem Editor muss ich das erst in die Zwischenablage kopieren, den anderen Raum mit dem Device aufrufen, das Device auswählen und kann dann erst eine Kopie davon generieren.
Ich werde dennoch mal öfter damit arbeiten, um das mal kennen zu lernen. Vielleicht ist die Kombination beider Editoren für mich der Königsweg... Ich werde sehen ...

Danke auf jeden Fall für den Hinweis ...

Zitat von: CoolTux am 28 Juni 2016, 20:15:36Und includierte cfg files ist ja sowas von Old School. Da kannst auch noch mit Win 3.11 rum machen  ;D
... ja ne, is klar  ::) Daher repariere und restauriere ich ja auch "Old School" und total altmodische voll analoge Bandmaschinen und Röhrengeräte und Du zerschrädderst Dir hochmodern die Lauscher mit MP3- Rechteck- Geschrabbel ;)

Ok, jetzt aber genug OT .. oder?

Per

Zitat von: M_I_B am 28 Juni 2016, 18:53:45Oder habe ich da eine Typo drin, den ich nicht sehe?
Ich sehe ihn auch nicht, gehe aber von seinem Vorhandensein aus. Klammernebenen in beliebiger (?, aber 5 mindestens, selbst im Einsatz) kann DOIF nähmlich.
Alternativ ein Copy'n'Paste-Fehler ini->Forum.

Zitat von: M_I_B am 28 Juni 2016, 20:24:03Vielleicht ist die Kombination beider Editoren für mich der Königsweg...
Ich teste alles mit dem internen, nach Tipps aufgewerteten (DEF-)Editor innerhalb des laufenden FHEM, die eigentlichen dauerhaften Änderungen mache ich mit Scite direkt in den .ini, welche erst nach einem Restart zum Tragen kommen. Erstens ist mir FHEM in der Anfangszeit nach Änderungen zu oft abgestürzt. Und Zweitens hat mir die 'Eigenintelligenz' von FHEM beim Ändern/Speichern der .ini zu oft Streiche gespielt!

M_I_B

#21
Zitat von: Per am 29 Juni 2016, 09:42:42Ich sehe ihn auch nicht, gehe aber von seinem Vorhandensein aus. ...
Und Zweitens hat mir die 'Eigenintelligenz' von FHEM beim Ändern/Speichern der .ini zu oft Streiche gespielt!
Ja, genau Letzteres ist auch noch so ein Knackpunkt. Schon sooo oft wurde mit einem Klick auf "Save Config" alles Mögliche umsortiert (noch bedingt akzeptabel) und Kommentare resp. auskommentierte Teile einfach entsorgt (unakzeptabel). Aber wenn man ausschließlich mit dem int. Editor arbeitet, mag das keine Rolle spielen resp. fällt das überhaupt nicht auf ...

Zum Thema:
Ich habe das jetzt erst mal so gelassen und gestern Abend noch die Präsenz- Sache missbraucht um zu erkennen, ob der TV noch läuft. In dem Zusammenhang war es auch erforderlich, ein vergleichbares Konstrukt ( A and B or C) zu bauen, um die Lichtsteuerung damit zu koppeln. Das funktioniert auf Anhieb. Also habe ich per Copy&Past den Teil so übernommen und lediglich die Bezeichnungen angepasst, um übersehene Typo's o.ä. zu eliminieren; hat nix geholfen.
Kann es denn sein, das es eine Beschränkung oder so was ähnliches in Verbindung mit der Anzahl der DOELSEIF gibt? Ich werde das mal zerlegen und einzeln behandeln. Vielleicht komme ich dann dahinter...
... BTW: Der int. Editor hat keine Fehler dargestellt / bemängelt ...

Nun muss ich mich aber noch erst mal um was anderes Kümmern: Seit Umstellung auf VCCU quittieren meine 6-Fach Taster PB-6-WM55 auch nach mehrfachem, erneutem Pairing mit der VCCU nicht mehr grün, sondern nur noch orange, gelegentlich mit einem wilden, orangen Geflacker, bis irgendwann de Befehl ausgeführt wird. Ist mir bisher nicht aufgefallen, weil alles weiterhin funktioniert ...

Per

Nochmal zurück auf Anfang:
Zitat von: M_I_B am 28 Juni 2016, 18:12:26
... ([IPcheckBB] eq "absent" and [GeoFancy:currLoc_BB] eq "Daheim" or [GeoFancy:currLoc_BB] eq "TestGeoZone") (set ...
Dabei reicht es schon, wenn "TestGeoZone" gesetzt ist ...
... ([IPcheckBB] eq "absent" and [GeoFancy:currLoc_BB] eq "Daheim" or [IPcheckBB] eq "absent" and [GeoFancy:currLoc_BB] eq "TestGeoZone") (set...
Das wurde in keiner Kombination wahr ...
... ([IPcheckBB] eq "absent" and ([GeoFancy:currLoc_BB] eq "Daheim" or [GeoFancy:currLoc_BB] eq "TestGeoZone")) (set...
Erzeugt einen Fehler wrong time format: eq"Daheim"or[GeoFancy:currLoc_MB]eq"TestGeoZone"
Meine Vorgehensweise wäre:
a: testweise drei DOIFs mit je einer der Bedingung erstellen (jeweils mit und ohne nochmal Klammern drumrum)
b: statt der Klammern mal || probieren:
... ([IPcheckBB] eq "absent" and [GeoFancy:currLoc_BB] eq "Daheim" || [GeoFancy:currLoc_BB] eq "TestGeoZone") (set ...
c: RegEx:
... ([IPcheckBB] eq "absent" and [GeoFancy:currLoc_BB] =~ "Daheim|TestGeoZone") (set ...
(ich hoffe, meine rudimentären RegEx-Kenntnisse haben mich hier nicht verlassen, habe gerade nur Ideone.com zum Testen da...)


und:
ZitatErzeugt einen Fehler wrong time format: eq"Daheim"or[GeoFancy:currLoc_MB]eq"TestGeoZone"
deutet auf fehlende Leerzeichen hin! Was sagt denn das list des DOIF?