Hauptmenü

Was gehört in die fhem.cfg?

Begonnen von exot, 23 August 2015, 10:12:11

Vorheriges Thema - Nächstes Thema

exot

Hallo,
Beim suchen im Forum bin ich immer wieder auf Bemerkungen gestoßen,
die darlegen, dass bestimmte Installationen nicht in der fhem.cfg abgelegt werden sondern in anderen Dateien.

Da mein System noch im Aufbau und damit überschaubar ist denke ich darüber nach, eine sinnvolle Struktur anzulegen.

Meine 1.Frage dazu ist. Was gehört in die fhem.cfg und was nicht.
Dazu hier meine cfg:
attr global userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
attr global autoload_undefined_devices 1
attr global latitude 54.0883155
attr global logfile ./log/fhem-%Y-%m.log
attr global longitude 13.443615
attr global modpath .
attr global motd SecurityCheck:\
\
telnetPort has no password/globalpassword attribute.\
\
Restart FHEM for a new check if the problem is fixed,\
or set the global attribute motd to none to supress this message.\

attr global room 3.1 System
attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global verbose 3

define telnetPort telnet 7072 global
attr telnetPort room 3.1 System

define HMLAN1 HMLAN 192.168.178.32:1000
attr HMLAN1 hmId 2CD99B
attr HMLAN1 hmLanQlen 1_min
attr HMLAN1 loadLevel 0:low,40:batchLevel,90:high,99:suspended
attr HMLAN1 room 3.1 System

define hm485 HM485_LAN localhost:2000
attr hm485 HM485d_bind 1
attr hm485 HM485d_device /dev/ttyUSB0
attr hm485 HM485d_startTimeout 5
attr hm485 hmwId 00000001

define WEB FHEMWEB 8083 global
attr WEB basicAuth cGk6MDYwMzUw
attr WEB room 3.1 System

define WEBphone FHEMWEB 8084 global
attr WEBphone basicAuth cGk6MDYwMzUw
attr WEBphone room 3.1 System
attr WEBphone stylesheetPrefix smallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet basicAuth cGk6MDYwMzUw
attr WEBtablet room 3.1 System
attr WEBtablet stylesheetPrefix touchpad

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog
attr Logfile room 5.1 FileLog

define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log
attr autocreate room 4.1 Steuerung

define eventTypes eventTypes ./log/eventTypes.txt
attr eventTypes room 3.1 System

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create
attr initialUsbCheck room 3.1 System
define Wetter Weather 654035 600 de
attr Wetter room 2.1 Umwelt Aussen
define LichtWetter Twilight 54.0883155 13.443615 654035
attr LichtWetter room 2.1 Umwelt Aussen
define fronthem fronthem
define MPM_Thoshiba fronthemDevice 192.168.178.25
define IMO_Baer_MiniPc fronthemDevice 192.168.178.24
define FileLog_RolloWohnzTuer FileLog ./log/RolloWohnzTuer-%Y.log RolloWohnzTuer
attr FileLog_RolloWohnzTuer logtype text
attr FileLog_RolloWohnzTuer room 5.1 FileLog
define SmartPhone fronthemDevice 192.168.178.20
define RolloWohnzTuerAutoZu at *{sunset(0,"07:30","21:30")} set RolloWohnzTuer on
attr RolloWohnzTuerAutoZu room 4.1 Steuerung
attr RolloWohnzTuerAutoZu webCmd auf:pct:zu
define RolloWohnzTuerAutoAuf at *07:30:00 set RolloWohnzTuer off
attr RolloWohnzTuerAutoAuf room 4.1 Steuerung
attr RolloWohnzTuerAutoAuf webCmd auf:pct:zu
define RolloWohnzTerrasse CUL_HM 2776A9
attr RolloWohnzTerrasse IODev HMLAN1
attr RolloWohnzTerrasse autoReadReg 0_off
attr RolloWohnzTerrasse devStateIcon auf:fts_shutter_10@black zu:fts_shutter_100@black 9\d.*:fts_shutter_10@black 8\d.*:fts_shutter_20@black 7\d.*:fts_shutter_30@black 6\d.*:fts_shutter_40@black 5\d.*:fts_shutter_50@black 4\d.*:fts_shutter_60@black 3\d.*:fts_shutter_70@black 2\d.*:fts_shutter_80@black 1\d.*:fts_shutter_90@black 0\d.*:fts_shutter_100
attr RolloWohnzTerrasse eventMap on:auf off:zu
attr RolloWohnzTerrasse expert 2_full
attr RolloWohnzTerrasse firmware 1.7
attr RolloWohnzTerrasse group Jalousien
attr RolloWohnzTerrasse model HM-LC-BL1-FM
attr RolloWohnzTerrasse param levelInverse
attr RolloWohnzTerrasse peerIDs 00000000,
attr RolloWohnzTerrasse room 1.1 Wohnzimmer
attr RolloWohnzTerrasse serialNr LEQ0199202
attr RolloWohnzTerrasse sortby 2
attr RolloWohnzTerrasse subType blindActuator
attr RolloWohnzTerrasse webCmd auf:pct:zu
define FileLog_RolloWohnzTerrasse FileLog ./log/RolloWohnzTerrasse-%Y.log RolloWohnzTerrasse
attr FileLog_RolloWohnzTerrasse logtype text
attr FileLog_RolloWohnzTerrasse room 5.1 FileLog
define RolloWohnzTerrasseAutoZu at *{sunset(0,"07:30","21:30")} set RolloWohnzTerrasse off
attr RolloWohnzTerrasseAutoZu room 4.1 Steuerung
attr RolloWohnzTerrasseAutoZu webCmd auf:pct:zu
define RolloWohnzTerrrasseAutoAuf at *07:30:00 set RolloWohnzTerrasse on
attr RolloWohnzTerrrasseAutoAuf room 4.1 Steuerung
attr RolloWohnzTerrrasseAutoAuf webCmd auf:pct:zu
define RolloWohnzGarten CUL_HM 3B85BB
attr RolloWohnzGarten IODev HMLAN1
attr RolloWohnzGarten autoReadReg 0_off
attr RolloWohnzGarten devStateIcon auf:fts_shutter_10@black zu:fts_shutter_100@black 9\d.*:fts_shutter_10@black 8\d.*:fts_shutter_20@black 7\d.*:fts_shutter_30@black 6\d.*:fts_shutter_40@black 5\d.*:fts_shutter_50@black 4\d.*:fts_shutter_60@black 3\d.*:fts_shutter_70@black 2\d.*:fts_shutter_80@black 1\d.*:fts_shutter_90@black 0\d.*:fts_shutter_100
attr RolloWohnzGarten eventMap on:auf off:zu
attr RolloWohnzGarten expert 2_full
attr RolloWohnzGarten firmware 2.5
attr RolloWohnzGarten group Jalousien,
attr RolloWohnzGarten model HM-LC-BL1-FM
attr RolloWohnzGarten peerIDs 00000000,
attr RolloWohnzGarten room 1.1 Wohnzimmer
attr RolloWohnzGarten serialNr MEQ0392299
attr RolloWohnzGarten sortby 3
attr RolloWohnzGarten subType blindActuator
attr RolloWohnzGarten webCmd auf:pct:zu
define FileLog_RolloWohnzGarten FileLog ./log/RolloWohnzGarten-%Y.log RolloWohnzGarten
attr FileLog_RolloWohnzGarten logtype text
attr FileLog_RolloWohnzGarten room 5.1 FileLog
define RolloWohnzGartenAutoZu at *{sunset(0,"07:30","21:30")} set RolloWohnzGarten off
attr RolloWohnzGartenAutoZu room 4.1 Steuerung
attr RolloWohnzGartenAutoZu webCmd auf:pct:zu
define RolloWohnzGartenAutoAuf at *07:30:00 set RolloWohnzGarten on
attr RolloWohnzGartenAutoAuf room 4.1 Steuerung
attr RolloWohnzGartenAutoAuf webCmd auf:pct:zu
define RolloKueche CUL_HM 3B84C8
attr RolloKueche IODev HMLAN1
attr RolloKueche autoReadReg 4_reqStatus
attr RolloKueche devStateIcon auf:fts_shutter_10@black zu:fts_shutter_100@black 9\d.*:fts_shutter_10@black 8\d.*:fts_shutter_20@black 7\d.*:fts_shutter_30@black 6\d.*:fts_shutter_40@black 5\d.*:fts_shutter_50@black 4\d.*:fts_shutter_60@black 3\d.*:fts_shutter_70@black 2\d.*:fts_shutter_80@black 1\d.*:fts_shutter_90@black 0\d.*:fts_shutter_100
attr RolloKueche eventMap on:auf off:zu
attr RolloKueche expert 2_full
attr RolloKueche firmware 2.5
attr RolloKueche group Jalousien
attr RolloKueche model HM-LC-BL1-FM
attr RolloKueche peerIDs 00000000,
attr RolloKueche room 1.2 Kueche
attr RolloKueche serialNr MEQ0392056
attr RolloKueche sortby 4
attr RolloKueche subType blindActuator
attr RolloKueche webCmd auf:pct:zu
define FileLog_RolloKueche FileLog ./log/RolloKueche-%Y.log RolloKueche
attr FileLog_RolloKueche logtype text
attr FileLog_RolloKueche room 5.1 FileLog
define RolloKuecheAutoZu at *{sunset(0,"07:30","21:30")} set RolloKueche off
attr RolloKuecheAutoZu devStateIcon auf:fts_shutter_10@black zu:fts_shutter_100@black 9\d.*:fts_shutter_10@black 8\d.*:fts_shutter_20@black 7\d.*:fts_shutter_30@black 6\d.*:fts_shutter_40@black 5\d.*:fts_shutter_50@black 4\d.*:fts_shutter_60@black 3\d.*:fts_shutter_70@black 2\d.*:fts_shutter_80@black 1\d.*:fts_shutter_90@black 0\d.*:fts_shutter_100
attr RolloKuecheAutoZu eventMap on:auf off:zu
attr RolloKuecheAutoZu room 4.1 Steuerung
attr RolloKuecheAutoZu webCmd auf:pct:zu
define RolloKuecheAutoAuf at *07:30:00 set RolloKueche on
attr RolloKuecheAutoAuf devStateIcon auf:fts_shutter_10@black zu:fts_shutter_100@black 9\d.*:fts_shutter_10@black 8\d.*:fts_shutter_20@black 7\d.*:fts_shutter_30@black 6\d.*:fts_shutter_40@black 5\d.*:fts_shutter_50@black 4\d.*:fts_shutter_60@black 3\d.*:fts_shutter_70@black 2\d.*:fts_shutter_80@black 1\d.*:fts_shutter_90@black 0\d.*:fts_shutter_100
attr RolloKuecheAutoAuf eventMap on:auf off:zu
attr RolloKuecheAutoAuf room 4.1 Steuerung
attr RolloKuecheAutoAuf webCmd auf:pct:zu
define RolloDiele CUL_HM 3B9B76
attr RolloDiele IODev HMLAN1
attr RolloDiele autoReadReg 4_reqStatus
attr RolloDiele devStateIcon auf:fts_shutter_10@black zu:fts_shutter_100@black 9\d.*:fts_shutter_10@black 8\d.*:fts_shutter_20@black 7\d.*:fts_shutter_30@black 6\d.*:fts_shutter_40@black 5\d.*:fts_shutter_50@black 4\d.*:fts_shutter_60@black 3\d.*:fts_shutter_70@black 2\d.*:fts_shutter_80@black 1\d.*:fts_shutter_90@black 0\d.*:fts_shutter_100
attr RolloDiele eventMap on:auf off:zu
attr RolloDiele expert 2_full
attr RolloDiele firmware 2.5
attr RolloDiele group Jalousien
attr RolloDiele model HM-LC-BL1-FM
attr RolloDiele peerIDs 00000000,
attr RolloDiele room 1.3 Diele
attr RolloDiele serialNr MEQ0391528
attr RolloDiele sortby 5
attr RolloDiele subType blindActuator
attr RolloDiele webCmd auf:pct:zu
define FileLog_RolloDiele FileLog ./log/RolloDiele-%Y.log RolloDiele
attr FileLog_RolloDiele logtype text
attr FileLog_RolloDiele nrarchive 1
attr FileLog_RolloDiele room 5.1 FileLog
define RolloDieleAutoZu at *{sunset(0,"07:30","21:30")} set RolloDiele off
attr RolloDieleAutoZu devStateIcon auf:fts_shutter_10@black zu:fts_shutter_100@black 9\d.*:fts_shutter_10@black 8\d.*:fts_shutter_20@black 7\d.*:fts_shutter_30@black 6\d.*:fts_shutter_40@black 5\d.*:fts_shutter_50@black 4\d.*:fts_shutter_60@black 3\d.*:fts_shutter_70@black 2\d.*:fts_shutter_80@black 1\d.*:fts_shutter_90@black 0\d.*:fts_shutter_100
attr RolloDieleAutoZu eventMap on:auf off:zu
attr RolloDieleAutoZu room 4.1 Steuerung
attr RolloDieleAutoZu webCmd auf:pct:zu
define RolloDieleAutoAuf at *07:30:00 set RolloDiele on
attr RolloDieleAutoAuf devStateIcon auf:fts_shutter_10@black zu:fts_shutter_100@black 9\d.*:fts_shutter_10@black 8\d.*:fts_shutter_20@black 7\d.*:fts_shutter_30@black 6\d.*:fts_shutter_40@black 5\d.*:fts_shutter_50@black 4\d.*:fts_shutter_60@black 3\d.*:fts_shutter_70@black 2\d.*:fts_shutter_80@black 1\d.*:fts_shutter_90@black 0\d.*:fts_shutter_100
attr RolloDieleAutoAuf eventMap on:auf off:zu
attr RolloDieleAutoAuf room 4.1 Steuerung
attr RolloDieleAutoAuf webCmd auf:pct:zu
define RolloWCAutoZu at *{sunset(0,"07:30","21:30")} set RolloWC off
attr RolloWCAutoZu room 4.1 Steuerung
attr RolloWCAutoZu webCmd auf:pct:zu
define RolloWCAutoAuf at *07:30:00 set RolloWC on
attr RolloWCAutoAuf room 4.1 Steuerung
attr RolloWCAutoAuf webCmd auf:pct:zu
define RolloWC CUL_HM 3B9BCC
attr RolloWC IODev HMLAN1
attr RolloWC autoReadReg 0_off
attr RolloWC devStateIcon auf:fts_shutter_10@black zu:fts_shutter_100@black 9\d.*:fts_shutter_10@black 8\d.*:fts_shutter_20@black 7\d.*:fts_shutter_30@black 6\d.*:fts_shutter_40@black 5\d.*:fts_shutter_50@black 4\d.*:fts_shutter_60@black 3\d.*:fts_shutter_70@black 2\d.*:fts_shutter_80@black 1\d.*:fts_shutter_90@black 0\d.*:fts_shutter_100
attr RolloWC eventMap on:auf off:zu
attr RolloWC expert 2_full
attr RolloWC firmware 2.5
attr RolloWC group Jalousien
attr RolloWC model HM-LC-BL1-FM
attr RolloWC peerIDs 00000000,
attr RolloWC room 1.4 WC
attr RolloWC serialNr MEQ0391443
attr RolloWC subType blindActuator
attr RolloWC webCmd auf:pct:zu
define MichelErich fronthemDevice 192.168.178.28
define RolloWohnzTuer CUL_HM 2D5250
attr RolloWohnzTuer IODev HMLAN1
attr RolloWohnzTuer autoReadReg 4_reqStatus
attr RolloWohnzTuer devStateIcon auf:fts_shutter_10@black zu:fts_shutter_100@black 9\d.*:fts_shutter_10@black 8\d.*:fts_shutter_20@black 7\d.*:fts_shutter_30@black 6\d.*:fts_shutter_40@black 5\d.*:fts_shutter_50@black 4\d.*:fts_shutter_60@black 3\d.*:fts_shutter_70@black 2\d.*:fts_shutter_80@black 1\d.*:fts_shutter_90@black 0\d.*:fts_shutter_100
attr RolloWohnzTuer eventMap on:zu off:auf
attr RolloWohnzTuer expert 2_full
attr RolloWohnzTuer firmware 2.5
attr RolloWohnzTuer group Jalousien
attr RolloWohnzTuer model HM-LC-BL1-FM
attr RolloWohnzTuer peerIDs 00000000,
attr RolloWohnzTuer room 1.1 Wohnzimmer
attr RolloWohnzTuer serialNr LEQ0631780
attr RolloWohnzTuer sortby 1
attr RolloWohnzTuer subType blindActuator
attr RolloWohnzTuer userReadings smartvisu_icon { ReadingsNum("RolloWohnzTuer","pct",0)*2.55;;}
attr RolloWohnzTuer webCmd auf:pct:zu
define FileLog_HM_2D5250 FileLog ./log/HM_2D5250-%Y.log HM_2D5250
attr FileLog_HM_2D5250 logtype text
attr FileLog_HM_2D5250 room CUL_HM


Die 2. Frage ist, wohin mit dem, was hier nicht sein sollte.

Ich könnte mir vorstellen, dass eine Auslagerung z.B. für die Rolläden zutrifft.
Wenn ja ; wie muss ich die Sache angehen und wie erreiche ich es, dass Neuinstallationen nicht wieder in der fhem.cfg abgelegt werden.

Ein schönen sonnigen Sonntag
wünscht Michael





franky08

Wenn du neue devices, notifys und was auch immer anlegst, mach es in der Weboberfläche von fhem. Auf dem Weg brauchst du dich nicht darum zu kümmern wo was hinngehört, da fhem das, ohne Fehler, für dich erledigt.

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

exot

Hallo Frank,
Danke für Deine rasche Antwort.
Ich verstehe das für ein klares JA hinsichtlich meiner jetzigen Situation.
Gruß Michael

franky08

Ich vermute das du darüber gestolpert bist, dass größere Codeblöcke nicht in die fhem.cfg gehören, sondern in der 99_myUtils besser aufgehoben sind.
Ich finde es übersichtlicher und einfacher alles was mehr als 4 Codezeilen hat in die Utils auszulagern und wenn man (irgendwann  :) ) etwas "Perlsicher" ist, ist das auch kein Problem.

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

exot

Hallo frank;
wenn man (irgendwann  :) ) etwas "Perlsicher" ist, ist das auch kein Problem.
Soll das heißen, dass das zu jeder Zeit nachträglich möglich ist.
Ich kann dann immer noch Sachen aus der fhem.cfg in die 99.... verschieben ohne das es Probleme mit dem laufenden System gibt?
Gruß Michael

franky08

Ob du nun z.B. In einem notify einen Perl Ausdruck mit {....} ausführst oder mit dem notify eine sub in der Utils aufrufst, ist da Gleiche. Natürlich kannst du auch im nachhinnein den Code in die Utils auslagern.

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

exot

Hallo Frank,
Dann lasse ich es erst mal so wie es ist.
Und warum etwas ändern wenn kein Grund besteht.
Danke
Gruß Michael