Hauptmenü

Cuno 1Wire Init Script

Begonnen von Inputsammler, 27 März 2014, 01:20:56

Vorheriges Thema - Nächstes Thema

Inputsammler

Hallo zusammen,

Ich habe meine 1 Wire über den cuno erfolgreich am rasppery angeschlossen über ethernet.
Das Problem beim cuno ist das beim neustart vom Cuno die 1Wire nicht gehen.
dazu muss man erst die Befehle ausführen.

Mit einem CUNO und entsprechender Verkabelung konnen 1-Wire Temperatursensoren (DS18S20) eingebunden werden. Die Initialisierung des CUNO und Aktivierung der HMS-Emulation mit einem Abfrageintervall von 30s kann dabei mit den folgenden Befehlen erfolgen:

get cuno raw Oi
get cuno raw OHt30
get cuno raw Oho


Leider bin ich noch nicht soweit damit , bzw habe ich es noch nicht gefunden wie man sowas einstellt.

Gruß Gerd

PS: Erfolgreich eingebunden sind schon 1-wire, HM Heizung,Fs20 Heizung,Ks300, HM Fensterkontakte, HM Power, usw ... also es wird schon langsam ...
Rpi's und Bpi's und Hw von Dirk und locutus
CCU2,F20,Ks300,1-Wire,Homematic usw ...
vitodens 300 & IstrkrM372 auslesen über USB und FHEM
RUHE IN FRIEDEN AHA1805 RIP Mallorca +29.08.16
I miss you and your Family H.H.L.L.

fiedel

#1
Hi Gerd,

da kann ich gerne weiterhelfen. Der Code ist dafür gedacht, direkt (Edit files) in die CFG kopiert zu werden:


# 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 ON wird davon ausgegangen, dass der CUNO neu gestartet hat und es
# werden die nötigen Parameter (HMS-Emul. Sendeintervall, Datum/Zeit)gesetzt.
# Bei OFF war der CUNO "disconnected". Die 1-wire/HMS- emulation wird erneut
# getoggelt (auf ON),die übrigen Parameter sollten noch gesetzt sein.
# Je nach "raw"- Wert, wird 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. 

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");;\
  }
attr cuno_ref_N comment refreshes CUNOs ReadingsVal "raw" and triggers cuno_init_N after a short time
attr cuno_ref_N group Programm
attr cuno_ref_N room 5_System

define cuno_init_N notify cuno_init_N { \
\
    my $cuno = ReadingsVal("cuno", "raw", "");;\
\
    if ($cuno 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 OHt120");;\
    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 ($cuno eq "OFF") {\
    Log 1, 'cuno checked after reconnect, 1W/HMS-emul was ON';; \
    fhem("get cuno raw OHo");; \
    } \
}
attr cuno_init_N comment checks CUNOs 1-wire/HMS- emulation after CUNO comeback if it was ON or OFF before comeback, enables CUNOs 1wire/HMS- emulation w. 120 sec refresh, refreshes CUNOs time from ntp-server, then (after 6 minutes) gets the refreshed time from CUNO
attr cuno_init_N group Programm
attr cuno_init_N room 5_System

define Func_Start_Init_W notify global:INITIALIZED.* { \
\
fhem("set cuno raw B00");;\
}
attr Func_Start_Init_W comment reboots CUNO after system start
attr Func_Start_Init_W group Programm
attr Func_Start_Init_W room 5_System


Viel Spaß!

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Inputsammler

Hallo Frank.

Danke für deine Hilfe.

Werde es heute Abend gleich testen.
ich habe es in die fhem.cfg kopiert nach der der definition vom Cuno.

define cuno CUL 192.168.27.20:2323 3836

Scripte direkt in der cfg einbinden das  funktioniert ja auch --> cool  ;D
Wie oft wird das Script dann ausgefhrt?

Gruß Gerd

sieht gut aus ... musste doch schon remote machen :-)
cuno_init_N active
cuno_ref_N active
Func_Start_Init_W active





Rpi's und Bpi's und Hw von Dirk und locutus
CCU2,F20,Ks300,1-Wire,Homematic usw ...
vitodens 300 & IstrkrM372 auslesen über USB und FHEM
RUHE IN FRIEDEN AHA1805 RIP Mallorca +29.08.16
I miss you and your Family H.H.L.L.

fiedel

#3
Keine Ursache!  :)

ZitatWie oft wird das Script dann ausgefhrt?

Bei jedem reconnect des CUNO und beim Systemstart. Das Script ist übrigens aus folgendem Grund so "umfangreich":

Der CUNO hat die Angewohnheit sich ab und zu mal kurz zu disconnecten. Bei der Widerkehr ist die 1-Wire Emul. noch aktiv, wenn sie es vorher schon war. Nach einem Reboot des Systems oft auch, wenn der CUNO nicht spannungslos war.

Wenn man nun die 1-Wire Emul. automatisch einschalten möchte, muss man zuerst deren Status herausbekommen, um sie nicht aus Versehen dauerhaft auszuschalten.

Edit: Im letzen Notify war noch mein CUNO- Name drin. Den musst du ggf. noch ändern. Habs oben korrigiert.
 
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Inputsammler

Rückmeldung:

Das Script läuft echt Super
Wirklich keine fehlenden Daten mehr von den 1 wire Sensoren.

Ab und zu hängt sich der WLAN Stick auf.

Danke nochmals

Gruß Gerd



Gesendet von meinem iPhone mit Tapatalk
Rpi's und Bpi's und Hw von Dirk und locutus
CCU2,F20,Ks300,1-Wire,Homematic usw ...
vitodens 300 & IstrkrM372 auslesen über USB und FHEM
RUHE IN FRIEDEN AHA1805 RIP Mallorca +29.08.16
I miss you and your Family H.H.L.L.