Für meine Poolsteuerung habe ich einige DEFs
in DEF schaut mein Code so aus:
(((([smart_pi:Lief1]+[smart_pi:Lief2]+[smart_pi:Lief3])< -1500) and ([STEUERUNG27] eq "on") and ([Strahlung]>200) and ([PUMPE17] eq "off") and (((([PumpZeit:pulseTimePerDay])<21600) and ([WINTER] eq "off")) or ((([PumpZeit:pulseTimePerDay])<9600) and ([WINTER] eq "on")))) or ([NURPUMPE23] eq "on") or ([SALZEIN] eq "on") or ([BADEN] eq "on") or ([wetter_eigheim:TempAussen]<0)) (set PUMPE17 on) (define SALZON at +00:04 set SALZ24 on) (set PumpZeit calc) (delete PUMPEAUSZEIT) (delete SALZAUSZEIT) DOELSE (set PumpZeit calc)
gibt es eine Möglichkeit diese Code strukturiert darzustellen?
Nur zur Info, ich baue meine Poolsteuerung um, daher würde ich alle neu schreiben:
Anstelle eines externen Wasserstandfühler (MINIMUN, SOLL, MAXIMUM) im Überschwallbecken möchte ich einen Höhensensor per Ultraschall (Autoabstandssensor) verwenden.
Einen extern Badeschalter (Pool bleibt offen und pumpt).
Externen Strommeser per I2C der Salzaufbereitung SALTMASTER.
Hi,
die Frage strukturiert für wen? Hier im Forum wäre die wichtigste Struktur Code immer in Code tags zu posten :)
Wie das geht steht hier:https://forum.fhem.de/index.php/topic,71806.0.html
In deiner DEF (DEF Editor) kannst Du beliebige Zeilenumbrüche und Einrückungen vornehmen, die werden im Code ignoriert. Da ist immer viel "Persönlichkeit" dabei. Beispiele im Anhang.
Im FHEMWEB kann der alternative Editor helfen, z.B.:
attr WEB JavaScripts codemirror/fhem_codemirror.js
attr WEB codemirrorParam { "lineNumbers":true }
BTW: Ich finde Du hast etwas "überklammert" ;)
Gruß Otto
(
[smart_pi:Lief1]+[smart_pi:Lief2]+[smart_pi:Lief3]) < -1500
and [STEUERUNG27] eq "on"
and [Strahlung] > 200)
and [PUMPE17] eq "off"
and [PumpZeit:pulseTimePerDay] < 21600
and ( [WINTER] eq "off"
or ( [PumpZeit:pulseTimePerDay]<9600
and ([WINTER] eq "on" )
or [NURPUMPE23] eq "on"
or [SALZEIN] eq "on"
or [BADEN] eq "on"
or [wetter_eigheim:TempAussen] < 0
)
)
(set PUMPE17 on)
(define SALZON at +00:04 set SALZ24 on)
(set PumpZeit calc)
(delete PUMPEAUSZEIT)
(delete SALZAUSZEIT)
DOELSE
(set PumpZeit calc)
Vielleicht so. Ist bisschen schöner gemacht. Und vor allem ohne die ganzen unnötigen Klammern.
DANKE für Tips.
Ich dachte Zeilenumbrüche und Einrückungen sind nicht erlaubt.
Um die Klammern und die AND OR - Regel habe ich mich nicht gekümmert. Habe seinerzeit gelernt, sie trotzdem zu machen.
Aber ohne ist es viel schöner. Nur die Wichtigen eben.
Zitat von: Eisenberg188 am 11 Juni 2020, 11:25:30
DANKE für Tips.
Ich dachte Zeilenumbrüche und Einrückungen sind nicht erlaubt.
Um die Klammern und die AND OR - Regel habe ich mich nicht gekümmert. Habe seinerzeit gelernt, sie trotzdem zu machen.
Aber ohne ist es viel schöner. Nur die Wichtigen eben.
Ich habe es bei mir so ähnlich, nur in klein halt. Probier einfach mal.
Zitat von: Eisenberg188 am 11 Juni 2020, 11:25:30
DANKE für Tips.
Ich dachte Zeilenumbrüche und Einrückungen sind nicht erlaubt.
Um die Klammern und die AND OR - Regel habe ich mich nicht gekümmert. Habe seinerzeit gelernt, sie trotzdem zu machen.
Aber ohne ist es viel schöner. Nur die Wichtigen eben.
Für das Modul DOIF gelten eigene Regeln, die bei anderen Modulen nicht gelten müssen:
https://fhem.de/commandref_DE.html#DOIF_Lesbarkeit_der_Definitionen
Ich habe
fhem.cfg
direkt editiert.
Dann geht die Formatierung verloren, bzw. war es nicht möglich.
Nein geht sie nicht.
Aber direktes Editieren ist eben der falsche Weg.
Würde beim direkten editieren (falls Windows-Rechner als Arbeitsplatz) Notepad++ empfhelen, mit dem fhem Sytax-Highlighting. Minimiert definitiv Fehler...
Wenn bestimmte Module im Einsatz sind (aber mittlerweile ;) auch unabhängig davon) würde ich Abstand nehmen vom direkten Editieren!
Egal welches System und welcher Editor...
Z.B. alexa-fhem, gassistant, ...
Wurde ja auch bereits "ausgesprochen" und ist vielfach im Forum zu lesen...
Aber: jeder wie er will ;)
Manche nehmen halt dann (zurecht) Abstand bzgl. Hilfestellung...
Weil manche "Probleme" tatsächlich vom manuellen Editieren stammen (können) und dabei zu helfen ist schwer/mühsam/unmöglich...
Aber nur meine Meinung (selbst zu Beginn lange Zeit manuell editiert ;) aber gibt eigentlich wirklich KEINEN Grund [mehr] das zu tun)...
Gruß, Joachim