already defined, delete it first - wieder einmal

Begonnen von uron, 11 November 2013, 15:37:47

Vorheriges Thema - Nächstes Thema

uron

Hallo zusammen,
als blutiger Anfänger in Sachen FHEM traue ich mich mal zu den Experten hier. Meine Programmierkenntnisse sind ein wenig angegraut (1974 mit FORTRAN) aber ich traue mich hier in das Forum und auch an das Thema FHEM.
Meine ersten FHEM-Schritte sind der erfolgreiche Hardwareaufbau eines FS20-Systems und Steuerung per Handsender per Einzel- und Gruppeadressen - funktioniert tadellos.
Die Steuerung per Smartphone und Webfrontend über Fritz!Box 7390 und CUL am USB läuft auch.

Nun möchte ich mich Schritt um Schritt der Programmierung von "Spezialaufgaben" wie sonnenstands- und zeitabhängiger Lichtsteuerung meiner Gartenleuchten widmen.
Ersteres klappt, bei der zeitabhängigen Lichtabschaltung bekomme ich aber ein Problem, dass ich nicht lösen kann. Habe viele Fundstellen gelesen, sicher aber nicht alles verstanden. Deshalb mein Weg hier in das Forum.

Die Fehlermeldung beim Speichern der fhem.cfg lautet: "LichtklTeichAus already defined, delete it first"
Lösche ich am Webfrontend per Eingabezeile mit "delete LichtklTeichAus" und speichere dann die fhem.cfg gibt es keine Fehlermeldung.
Das erneute Speichern wirft wieder den gleichen Fehler aus.
"Programmiere" ich nun den o.g. Löschbefehl vor den define-Befehlt in die fhem.cfg erhalte ich die Fehlermeldung
Please define LichtklTeichAus first LichtklTeichAus already defined, delete it first
Ich drehe mich also im Kreis.
Im Forum hatte ich den selbstheilenden Tipp gelesen, dass jemand 2x shutdown reboot durchgeführt hat und danach alles o.k. war. Leider klappt das bei mir nicht.

Könnt ihr mir bitte auf die Sprünge helfen!

Auszug aus der fhem.cfg, wenn ihr zur Beurteilung noch mehr braucht, meldet euch bitte! (die Kommentarzeilen brauche ich noch, da ich bei dem Thema noch nicht sicher bin)
#Licht kl. Teich
define ug_Licht_kl._Teich FS20 d827 00
attr ug_Licht_kl._Teich IODev CUL_0
attr ug_Licht_kl._Teich alias Licht kl. Teich
attr ug_Licht_kl._Teich fm_type lamp
attr ug_Licht_kl._Teich model fs20ws1
attr ug_Licht_kl._Teich room FS20,Favourites
#Test sunrise/sunset: Lampe soll testweise bei Sonnenuntergang angehen
#Sonnenaufgang zwischen 5:18 - 8:30 Uhr
#Sonnenuntergang zwischen 16:37 - 21:44 Uhr
define LichtklTeichAn at *{sunset(0,"16:30","22:00")} set ug_Licht_kl._Teich on
#späteste Abschaltung Licht kl. Teich um 23:59 Uhr
define LichtklTeichAus at 23:59 set ug_Licht_kl._Teich off
RasPi-FHEM  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi-ioBroker

franky08

Hallo,
hast du mal direkt die fhem.cfg im Editor geöffnet und dann die Zeile gelöscht?

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

uron

Hab ich, natürlich kommt dann keine Fehlermeldung  ???
Bedeutet das, dass ich die Zeitvorgabe zum Ausschalten um 23:59 Uhr nicht in der fhem.cfg über den define-Befehhl dauerhauft speichern muss??

Wo wird der einmalige define-Befehl abgespeichert?
RasPi-FHEM  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi-ioBroker

franky08

#3
Doch, dass ist schon richtig. Vor dem 23.59 fehlt noch * wenn täglich. Eigendlich ist das OK so, wenn in der fhem.cfg z.B  steht define <name> at <irgendwas> dann taucht im Webfrontend unter at der Name auf, wenn du dann den definierten Namen in der fhem.cfg löscht´s steht der Eintrag natürlich noch im Webfrontend unter at. Abgespeichert wird das ganze trotzdem richtig.
Kannst du nachvollziehen wenn du dann ein 2. mal das ganze abspeichert kommt auch kein Fehler mehr.
VG Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Puschel74

Hallo,

hat jetzt mit deinem Problem nichts zu tun aber

define ug_Licht_kl._Teich FS20 d827 00

Punkte (.) in Devicenamen halte ich nicht für gut da der Punkt (.) in Perl das regexp für ein beliebiges Zeichen ist.
Das kann früher oder später mal ganz schön Ärger geben.

define LichtklTeichAn at *{sunset(0,"16:30","22:00")} set ug_Licht_kl._Teich on
und
define LichtklTeichAus at 23:59 set ug_Licht_kl._Teich off
sieht für mich in Ordnung aus.
Wenn fhem das anmeckert hast du vllt. irgendwo nochmal diese Namen vergeben.

Am besten die fhem.cfg öffnen - die Zeilen löschen und <save fhem.cfg> anklicken.
Danach die Zeile direkt in die FHEM-Befehlszeile eingeben.

Wenn immer noch Fehler kommen dann mal bitte die Konfig posten (in Code-Tags bitte da das etwas übersichtlichter ist um man den Code gleich sieht).

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

uron

Hallo, Danke für die Unterstützung aus beiden Richtungen.
- ich habe jetzt die Zeile in die fhem.cfg wieder aufgenommen, das * für die tägliche Routine eingefügt. Ab den 2. Speichern gibt es keine Fehlermeldung mehr  :-\
- den Punkt im Devicenamen habe ich entfernt. Ich hatte zuvor heute bereits beim Stöbern im Forum einen entsprechenden Hinweis gelesen aber noch nicht umgesetzt.

Prima - wieder ein Stück schlauer.
;D
RasPi-FHEM  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi-ioBroker

Icebear

Hi,

mal auf blaue ..

1. mal cfg laden das define mit at wird ausgeführt (und verbleibt danach im statefile weil fhem sich ja die laufenden ats merkt).

2. mal cfg laden das define wird neu geladen und huch im statefile gibts das at ja schon ... (fhem unterscheidet ja nicht ob der befehl aus der cfg kommt oder manuell eingetippt wurde) und scho haben wir ein define was es schon gibt.


das dürfte der denkfehler sein ....
also einmal (auf der konsole reicht) das define als wiederkehrend (mit *)

und wech
Raspberry PI mod B (Wheezy), Fhem 5.4, CUL868, CUL433 , RfxTrx, HM-USB-CFG2, Wlan, HomeEasy, IT, FS20, TFA, HomeMatic, Oregon Scientific, HMLand auf Fritzbox
Raspberry PI mod B (RaspBMC)