1-Wire Sensoren umbenennen

Begonnen von Muschelpuster, 15 Mai 2015, 09:48:28

Vorheriges Thema - Nächstes Thema

Muschelpuster

Hallo zusammen,

Damit ich nicht mit den Autocreate-Namen im Filelog arbeiten musste, fand ich es clever den Sensoren sinnige Namen zu geben. Doch ich musste feststellen, dass das keine gute Idee war, denn nun meldet mein FHEM 'Please define Auto_Create_Name first'.
Ok, schade eigentlich, also mache ich die Änderungen erst einmal rückgängig und sehe 'Please define mein_Name first'  :o
Also irgendwo wird da wohl nach was im Hintergrund geschrieben, was ich nicht sehe. Wo muss ich denn da noch schrauben?

umbenannte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Muschelpuster

So, nachdem ich mal wieder mit etwas Hirn gesegnet wurde, war das auch kein Thema mehr. Einfach mal die Keule auspacken und mit grep nach dem String in allen Dateien suchen. Und schon war alles ganz einfach: Die Fehlermeldungen kamen aus der Datei /opt/fhem/log/fhem.sav. Schnell hier die gespeicherten Daten der umbenannten Elemente gelöscht und schon ist wieder Frieden.

gelöste Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

hexenmeister

In dieser Datei speichert FHEM fie Zustände der Geräte. Du musst da nichts löschen. Nach einem Restart wird diese neu geschrieben.

Muschelpuster

Wurde sie leider nicht, bzw. die verwaisten Einträge wurden nicht gelöscht. Die 'neuen' (umbenannten) Sensoren wurden sauber aufgenommen. Vielleicht müssen wir hier mal Restart definieren? Ich habe via /etc/init.d/fhem stop/start neu gestartet.

ergänzende Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

hexenmeister

Ich meine "shutdown restart" aus FHEM. Wie genau Dein Start-Script in init.d beschaffen ist, weiß ich ja nicht.
Du kannst auch mit {WriteStatefile()} den State jederzeit neu schreieben.


Muschelpuster

Zitat von: hexenmeister am 16 Mai 2015, 00:35:15Ich meine "shutdown restart" aus FHEM.
Ist der gleiche Effekt. Ich hatte noch die Idee, dass es entweder daran lag, dass ich die Sensoren in eine weitere Konfig-Datei ausgelagert habe oder dass das Problem aufgetreten ist, weil die Sensoren zum Änderungszeitpunkt nicht am Bus angeschlossen waren. Das habe ich nun alles ausgeschlossen:

  • neuen Sensor am Bus angeschlossen
  • shutdown restart
  • Sensor via Autocreate angelegt
  • fhem.cfg editiert und Sensor neuen Namen (nicht Alias) gegeben -> von DS18S20_8653B3020800 nach 1Wire_TerraTemp_RU
  • shutdown restart
  • fehlermeldung: Please define DS18S20_8653B3020800 first

nachgeprüfte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

hexenmeister

Logisch ;) Da fehlt noch ein shutdown restart. Denn Du hast CFG direkt geändert. Nach dem Neustart erst bekommt FHEM was davon mit. Aber in der StateFile sind noch die alten Namen drin. Wenn Du noch einmal restartest, dann sollte alle zusammen passen. Aber besser Du nimmst gleich den rename Befehl damit passt alles gleich zusammen.

Punkt 2 ist unnötig.

Pfriemler

#7
Zitat
- fhem.cfg editiert und Sensor neuen Namen (nicht Alias) gegeben -> von DS18S20_8653B3020800 nach 1Wire_TerraTemp_RU
- shutdown restart
Das IST der Fehler. Wenn du die fhem.cfg editierst, bekommt das laufende FHEM nicht mit, dass Du die Namen geändert hast, und schreibt die States der Sensoren mit dem alten Namen ins Statefile. Beim Neustart findet FHEM bei der Rekonstruktion des State die betreffenden Teile nicht mehr.

Ich würde die Namen der Sensoren auf der Oberfläche mittels "rename" ändern, dann "save" und dann Neustart. Beim Herunterfahren sollte FHEM schon die neuen Namen fürs Statefile verwenden und der Neustart dann fehlerfrei laufen.
Oder sehe ich was falsch?

edit: nicht schnell genug ...

2. edit: Idee: bei "großflächigen" Änderungen, die optimaler in der fhem.cfg erledigt sind, diese erneut laden (das gibt zwar kiloweise "redefined" im Log und möglicherweise andere Seiteneffekte) und erst dann neustarten ... dann kennt FHEM auch schon die neuen Namen.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

hexenmeister

Ehrlich gesagt, sehe ich diese Warnungen überhaupt nicht als Problem an ;)
Einfach ignorieren, bei nächten mal kommen sie nicht mehr. Ein extra-Restart nur dafür ist eigentlich gar nicht nötig.

Muschelpuster

Jo, Danke für die Antworten - das bringt mein Verständnis voran  ::)
Zitat von: hexenmeister am 16 Mai 2015, 17:37:40Logisch ;) Da fehlt noch ein shutdown restart.
In der Tat - ich habe es getestet, nur leider bin ich immer schon nach dem 1.Restart nervös geworden.

Zitat von: hexenmeister am 16 Mai 2015, 17:37:40Aber besser Du nimmst gleich den rename Befehl damit passt alles gleich zusammen.
Die Macht der FHEM-Befehle unterschätze ich leider noch maßlos. Mit vi kann ich halbwegs umgehen, die FHEM-Befehle muss ich noch massiv lernen.

Zitat von: hexenmeister am 16 Mai 2015, 17:37:40Punkt 2 ist unnötig.
Jein, dann muss ich vermutlich länger warten als es meine Geduld hergibt, bis das Autocreate den Sensor erkennt. Oder gibt es da auch was von Ratio...   ääähhh der Befehlswelt um den Bus nach neuen Geräten zu scannen... - wenn man weiß was man sucht findet man es auch  8)
Zitat von: http://www.fhemwiki.de/wiki/OWServer_%26_OWDevice#OWServer_Get_BefehleZusätzlich stehen die FHEM-internen Befehle "errors" und "devices" zur Verfügung. zBsp:get <Devicename> errors #listet die Fehler des Device auf
get <Devicename> devices #scan den Server nach Device
Richtig?

lernfähige Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

hexenmeister

genau ;)

möge die Macht des COmmandrefs mit Dir sein :)

Muschelpuster

Zitat von: Muschelpuster am 16 Mai 2015, 19:51:49Oder gibt es da auch was von Ratio...   ääähhh der Befehlswelt um den Bus nach neuen Geräten zu scannen... - wenn man weiß was man sucht findet man es auch  8)
Zitat von: http://www.fhemwiki.de/wiki/OWServer_%26_OWDevice#OWServer_Get_BefehleZusätzlich stehen die FHEM-internen Befehle "errors" und "devices" zur Verfügung. zBsp:get <Devicename> errors #listet die Fehler des Device auf
get <Devicename> devices #scan den Server nach Device
Richtig?
Das macht aber kein Autocreate  :-\

nachgetestete Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

hexenmeister

Hm. Dachte ich... Aber zugegeben, ich habe ab meinem  1w Bus schon seit einer Ewigkeit nichts gemacht. Es läuft einfach vor sich hin :)

Prof. Dr. Peter Henning

Natürlich gibt es das bei OWX: get <interface> devices.

LG

pah

Muschelpuster

Zitat von: Prof. Dr. Peter Henning am 19 Mai 2015, 05:54:08Natürlich gibt es das bei OWX: get <interface> devices.
Genau das habe ich gemacht. Der neue DS2406 wurde zwar angezeigt, aber nicht automatisch angelegt. Nach einem 'shutdown restart' wurde das Autocreate ausgeführt.

neu gestartete Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF