DOIF macht manchmal nix.....

Begonnen von Stromschiene, 17 April 2020, 14:06:27

Vorheriges Thema - Nächstes Thema

Stromschiene

Mir ist es schon vor langer Zeit aufgefallen (unter FHEM 5.8), dass eine DOIF-Anweisung, wenn ich den Befehlsteil ändere, richtig ändere, nicht ausgeführt wird (in der fhem.cfg). Nicht ein mal ignoriert wird sie, obwohl die Syntax richtig ist. Das DOIF wird erst dann ausgeführt, wenn ich den Namen um mindestens ein Zeichen ändere.

Ich dachte mit den Update auf 6.0 wird sich das ändern, aber nein, ist immer noch so.

Was läuft da schief?

mfg
Stefan

rabehd

Zitat(in der fhem.cfg)
??? wirklich?

Ich bin auf die Antworten gespannt, ich kann ohne List oder mehr Infos nicht helfen.
Auch funktionierende Lösungen kann man hinterfragen.

Stromschiene

Ja, tritt bei allen, einfachen oder komplizierten DOIFs auf. Darum kein Beispiel davon.

mfg

Beta-User

Zitat von: Stromschiene am 17 April 2020, 14:31:28
Ja, tritt bei allen, einfachen oder komplizierten DOIFs auf. Darum kein Beispiel davon.
Und warum änderst du das in der cfg direkt?

Das ist seit langem "unerwünscht", die Empfehlung ist: Ändere über FHEMWEB, und zwar entweder über die DEF in der Detailansicht oder über die (erweiterte) Kommandozeile aka RAW-Editor.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Stromschiene

Hallo Beta-User:

Danke für die Antwort!

ad1: Bei weit mehr als 1000 Zeilen im fhem.cfg möchte ich, um den Überblick zu waren, selber die Anweisungen gruppieren. Und wenn schon die Möglichkeit besteht, erwarte ich mal, dass es funktioniert.

ad2.: Was ist mit RAW-Editor gemeint?, wo kann ich darüber etwas finden? (link?)

mfg
Stefan

Otto123

Zitat von: Stromschiene am 19 April 2020, 18:38:35
ad2.: Was ist mit RAW-Editor gemeint?, wo kann ich darüber etwas finden? (link?)
Ich mach es mal bewusst ausführlich: Im Wiki :)

Das geschilderte Verhalten ist ja wenigsten konsistent ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

MadMax-FHEM

#6
Zitat von: Stromschiene am 19 April 2020, 18:38:35
ad1: Bei weit mehr als 1000 Zeilen im fhem.cfg möchte ich, um den Überblick zu waren, selber die Anweisungen gruppieren. Und wenn schon die Möglichkeit besteht, erwarte ich mal, dass es funktioniert.

Hallo Stefan,

solange du kein z.B. alexa-fhem o.ä. nutzt wird es funktionieren sofern du keine fehlerhaften Einträge "produzierst"...

Bei Verwendung von alexa-fhem (oder ähnlichem Modul) wird es NICHT mehr gehen!
Also entweder dann NICHT mehr manuell editieren oder die Finger von alexa-fhem und ähnlichen Modulen lassen ;)

Anmerkung (auch ohne Verwendung von "problematischen" Modulen):

du musst zumindest auf die Reihenfolge achten!

Also z.B. IODev VOR den Devices usw.

(wobei kann sein, dass das inzwischen "abgefangen" wird)

EDIT: ich habe zu Beginn (so vor 4-5 Jahren) auch gedacht selbst zu editieren und zu kommentieren etc. wäre hilfreich wegen Übersichtlichkeit etc. Habe ich aber "aufgegeben"... ;) Nicht wegen erwähnter Module, sondern weil nach jeder Änderung die ich dann ja doch (mal) über die Oberfläche gemacht hatte ich wieder "umordnen" "musste" und das war dann auf Dauer... ;) Und: seit ich da nicht mehr reinschaue ist es mir auch egal... Man kann also "loslassen" ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Beta-User

Zitat von: Stromschiene am 19 April 2020, 18:38:35
Hallo Beta-User:

Danke für die Antwort!

ad1: Bei weit mehr als 1000 Zeilen im fhem.cfg möchte ich, um den Überblick zu waren, selber die Anweisungen gruppieren. Und wenn schon die Möglichkeit besteht, erwarte ich mal, dass es funktioniert.
Nun ja, zum einen willst du vermutlich keinen Wettbewerb starten bzgl. der Zeilenzahl in der fhem.cfg. "configDB list" liefert hier ebenfalls "weit mehr als 1000 Zeilen" - ohne Kommentarzeilen, Absätze zum Gruppieren usw. ;) .

Zum anderen: Es funktioniert doch. Kein Grund, sich zu beklagen. Es funktioniert halt vermutlich nur, wenn man es "richtig" macht und FHEM dann auch neu startet, (nehme ich jedenfalls an).

Aber das ändert weder was dran, dass das nicht die empfohlene Methode ist, noch was daran, dass man das nicht so machen muß, wenn man ein _bestehendes Device_ ändert - das ändert nämlich seine Position in der cfg nicht, nur weil man über FHEMWEB was ändert.

Und zur Frage, wie man was wiederfindet/gruppiert/markiert/kommentiert, kann man sicher geteilter Meinung sein, aber bitte erst, wenn man alle Möglichkeiten kennt. Mir reicht z.B. meistens das comment-Attribut, und zusammenhängende Devices usw. findet man schneller mit einem list-Kommando und der passenden devspec. Manuell kann man associatedWith setzen, um Querbezüge "greifbar" zu machen.
Ansonsten schreibe ich dann lieber auch schon mal etwas commandref zu meinen myUtils-Dateien, wenn es sich um generalisierten Code handelt, bei dem FHEMWEB nicht mehr so einfach feststellen kann, was eigentlich wie zusammengehört...

Aber jeder wie er kann und mag. (Aber bitte nicht weiter über Zeilenzahlen diskutieren, dafür gibt es bereits mind. 2 oder 3 andere völlig sinnbefreite Threads...).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

MadMax-FHEM

Zitat von: Beta-User am 20 April 2020, 09:56:16
Aber das ändert weder was dran, dass das nicht die empfohlene Methode ist, noch was daran, dass man das nicht so machen muß, wenn man ein _bestehendes Device_ ändert - das ändert nämlich seine Position in der cfg nicht, nur weil man über FHEMWEB was ändert.

Falls das auf "mein" Ändern und dann "umkopieren" bezogen war: falsch/unpräzise formuliert ;)

Ich meinte wenn ich halt dann mal neue Devices angelegt habe oder per autocreate angelegt wurden...

Und ich nenne jetzt meine Zeilenzahl nicht...
...aber 1000 sind es locker ;)

Gruß, Joachim

P.S.: und ja bei Neustart von fhem funktioniert externes Editieren auch mit den genannten "Problem-Modulen"...
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Beta-User

Nein, war wirklich nur auf den zitierten Post bezogen.

Und bzgl. "loslassen": sehe ich auch so, bin irgendwann (von fhem.cfg mit einigen #include) nach configDB gewechselt und war mir erst nicht so recht sicher, ob das eine gute Idee ist. Aber solange man insbesondere IO's nur ändert, nicht aber löscht, gibt's auch keinen Grund, irgendwas direkt machen zu wollen. Geht alles viel direkter über FHEMWEB...

Ergo schätze ich jetzt die Versionsverwaltung direkt in configDB, das kennt einen Rettungsmodus (nie gebraucht!) und vergißt auch bekannte Geräte nicht "versehentlich", nur weil mal irgendwo eine Verbindung abgebrochen ist (ist mir ganz früher ein paar mal mit OWX-Sensoren passiert; dafür waren die #includes wirklich praktisch... Nehme an, dass das zwischenzeitlich auch auf OWX-Modulebene anders gelöst ist, und ich war vor dem Wechsel bereits auf MySensors als Zwischenschicht gewechselt, so dass ich nicht darauf bestehe, dass confiDB mich an der Stelle gerettet hat ;) .)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors