FHEM Forum

FHEM => fhem-users => Thema gestartet von: Guest am 23 Juli 2012, 08:04:20

Titel: CUNO 2 automatisches Einschalten der OneWire / HMS- Emulation nach reboot oder reconnect
Beitrag von: Guest am 23 Juli 2012, 08:04:20
Originally posted by: <email address deleted>

Hallo an alle CUNO 2- Betreiber!

Seit längerem hatte ich immer mal vor, dem CUNO eine Initialisierung
zu verpassen, die bewirkt, dass die 1Wire/HMS- Emulation immer
eingeschaltet bleibt.
Es gab dazu bereits Lösungen hier im Forum. Ein Problem war
allerdings, dass dabei nicht ausgewertet wurde, ob die Antwort auf den
Befehl "OHo" nun "ON" oder "OFF" ist.
Deshalb möchte ich hier mal meine Lösung vorstellen, für alle die das
auch gern automatisiert hätten:


# CUNO definieren:
define CUNO CUL 192.168.1.10:2323 0000
set CUNO raw B00
attr CUNO group Geräte
attr CUNO room 5_System


# CUNO initialisieren:
# Erstes Notify toggelt die 1-wire/HMS- Emulation 1 Mal (notwendig, um
den
# "raw" Wert zu aktualisieren) und startet zeitversetzt das zweite
Notify.
# Dieses prüft nun das Readings "raw" auf ON/OFF.
# Bei Antwort "ON" wird davon ausgegangen, dass der CUNO neu gestartet
hat
# und es werden die nötigen Parameter (HMS-Emul. Sendeintervall, Datum/
Zeit)
# initialisiert.
# Bei Antwort "OFF" war der CUNO "disconnected". Die 1-wire/HMS-
Emulation
# wird erneut getoggelt (auf ON), die übrigen Parameter sollten noch
gesetzt,
# bzw. aktuell sein, da der CUNO nicht neu gestartet ist.
# Je nach Antwort "ON" oder "OFF", wir ein entspr. Text ins Log
geschrieben.
# Damit die Funktion auch bei Neustart von FHEM oder des Rechners
gegeben
# ist, bekommt der CUNO beim Definieren ein "B00" (reboot)
geschickt.
# Das aktualisieren der NTP- Time benötigt sicher nicht jeder. Es ist
nur
# ein Beispiel, wie man Befehle einbinden kann, deren Auswirkung erst
nach
# einiger Zeit zur Verfügung steht.
# Vielen Dank an Erwin und viele andere FHEM Users für die guten
Vorlagen!

define CUNO_ref_N notify CUNO:CONNECTED { \
    fhem("get CUNO raw OHo");; \
    fhem("define CUNO_init_A at +00:00:03 trigger CUNO_init_N");;\
  }

define CUNO_init_N notify CUNO_init_N { \
\
    my $curaw = ReadingsVal("CUNO", "raw", "");;\
\
    if ($curaw eq "ON") {\
    Log 1, 'CUNO initialized after reboot, 1W/HMS-emul was OFF';; \
    fhem("define CUNO_init_1A at +00:00:03 set CUNO raw OHt60");;\
    fhem("define CUNO_init_2A at +00:00:06 set CUNO raw En");;\
    fhem("define CUNO_init_3A at +00:06:00 get CUNO raw c03");;\
    }\
    if ($curaw eq "OFF") {\
    Log 1, 'CUNO checked after reconnect, 1W/HMS-emul was ON';; \
    fhem("get CUNO raw OHo");; \
    } \
}
attr CUNO_ref_N room 5_System
attr CUNO_ref_N group Programm
attr CUNO_ref_N comment refreshes CUNOs ReadingsVal "raw" and triggers
CUNO_init_N after a short time
attr CUNO_init_N room 5_System
attr CUNO_init_N group Programm
attr CUNO_init_N comment checks CUNOs 1-wire/HMS- emulation after
CUNOs reconnect if it was ON or OFF before reconnect, enables CUNOs
1wire/HMS- emulation w. 60 sec refresh, refreshes CUNOs time from ntp-
server, then 6 minutes later gets the refreshed time from CUNO

Viel Spaß beim ausprobieren!

Viele Grüße

Frank

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: CUNO 2 automatisches Einschalten der OneWire / HMS- Emulation nach reboot oder reconnect
Beitrag von: Guest am 23 Juli 2012, 08:19:44
Originally posted by: <email address deleted>

Sorry für die möglicherweise doofe Frage:

Die Definition schreibst du in die fhem.cfg und das Skript (z.B.) in die
99_Utils?

VG
Ralf

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: CUNO 2 automatisches Einschalten der OneWire / HMS- Emulation nach reboot oder reconnect
Beitrag von: Guest am 23 Juli 2012, 08:31:01
Originally posted by: <email address deleted>

Die obige Frage ist gar nicht "doof".

Denn es ist vollkommener Unsinn, Initialisierungssequenzen in einer
Konfigurationsdatei abzulegen.

LG

pah

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: CUNO 2 automatisches Einschalten der OneWire / HMS- Emulation nach reboot oder reconnect
Beitrag von: Guest am 23 Juli 2012, 20:17:11
Originally posted by: <email address deleted>

Genau - aber im Moment habe ich noch viel mehr so Zeugs in der CFG.
Man bräuchte eine ganze Klorolle um sie auszudrucken... ;o) Demnächst
wird dann der "funktionale Code" mal in eine oder mehrere
"99_irgendwas.pm" gesteckt. Nur gerade nicht in die "99_Utils.pm"! Das
funktioniert zwar, aber die ist nicht so sicher vor überschreiben bei
Updates, wie eine selbsterstellte Datei.

Viele Grüße

Frank

On 23 Jul., 08:31, "Prof. Dr. Peter A. Henning"
wrote:
> Die obige Frage ist gar nicht "doof".
>
> Denn es ist vollkommener Unsinn, Initialisierungssequenzen in einer
> Konfigurationsdatei abzulegen.
>
> LG
>
> pah

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com