Hallo,
ich bin's mal wieder mit einer kleinen Frage. Ich habe die Suche bemüht, bekomme aber so viele Seiten Treffer, dass ich vom ganzen Lesen schon irre bin und doch keine für mich relevante Antwort gefunden habe.
Ich möchte ein paar Codeschnipsel direkt in meine fhem.cfg übernehmen, verstehe aber das \ hinter den Zeilen nicht so richtig. Es geht um einen Teil aus einer THZ Wärmepumpe. Hat das was mit den Sonderzeichen und der Maskierung zu tun? Muss jede Zeile in der ein : oder @ ist, mit einem \ am Ende maskiert werden? Ich kenn mich in der Perl Programmiersprache leider noch überhaupt nicht so richtig aus. Ich wäre über eine kleine Aufklärung sehr dankbar. Das Einsteiger Manual lässt sich darüber nicht aus.
Ich hab zumindest mal gelernt, dass ein Sonderzeichen mit einem \voran dann als Sonderzeichen gilt und nicht als Steuerbefehl - was bedeutet aber das \ am Ende einer Zeile wie im Code unten?
define rg_thz_stat readingsGroup Mythz:<Schaltprogramm_aktiv>,SwitchingProg\
Mythz:<Verdichter>,Compressor\
Mythz:<Heizen>,HeatingHC\
Mythz:<Warmwasserbereitung>,HeatingDHW\
Mythz:<Nachheizstufen>,BoosterHC\
Mythz:<Filterwechsel>,FilterBoth\
Mythz:<Lüftungsstufe_manuell>,VentStage\
Mythz:<Lüftungsstufe_aktuell>,fanstage\
Mythz:<Heizkreispumpe>,PumpHC\
Mythz:<Abtauen>,Defrost\
Mythz:<Störung>,Service
attr rg_thz_stat alias Status
attr rg_thz_stat group THZ
attr rg_thz_stat nonames 1
attr rg_thz_stat room Heizung
attr rg_thz_stat sortby 1
attr rg_thz_stat valueIcon {'SwitchingProg.1'=>'hourglass@red',\
'SwitchingProg.0'=>'hourglass', \
'Compressor.1'=>'sani_garden_pump@red',\
'Compressor.0'=>'sani_garden_pump', \
'HeatingHC.1'=>'sani_heating@red',\
'HeatingHC.0'=>'sani_heating', \
'HeatingDHW.1'=>'sani_water_hot@red',\
'HeatingDHW.0'=>'sani_water_hot', \
'BoosterHC.3'=>'sani_heating_level_100@red',\
'BoosterHC.2'=>'sani_heating_level_80@red',\
'BoosterHC.1'=>'sani_heating_level_60@red',\
'BoosterHC.0'=>'sani_heating_level_0', \
'FilterBoth.1'=>'recycling@red',\
'FilterBoth.0'=>'recycling', \
'VentStage.1'=>'vent_ventilation_level_manual_m@red',\
'VentStage.0'=>'vent_ventilation_level_manual_m', \
'fanstage.3'=>'vent_ventilation_level_3@red', \
'fanstage.2'=>'vent_ventilation_level_2@blue', \
'fanstage.1'=>'vent_ventilation_level_1@green', \
'fanstage.0'=>'vent_ventilation_level_0@red', \
'PumpHC.1'=>'sani_pump@red',\
'PumpHC.0'=>'sani_pump', \
'Defrost.1'=>'frost@red',\
'Defrost.0'=>'frost', \
'Service.1'=>'hue_room_garage@red',\
'Service.0'=>'hue_room_garage', \
\
}
Als letztes Zeichen in der Zeile (danach darf nichts mehr kommen) bedeutet es eine Verkettung mit der nachfolgenden Zeile.
Das heisst, der Backslash und das Newline werden vom Interpreter weggeworfen und beide Zeilen als eine gesehen.
Gruss Helmut
Das ist quasi nur zur besseren Übersicht des Codes in einteiliger Darstellung, wenn ich das richtig verstehe? Dann kann ich das direkt so einbinden und bin nun informiert...
Vielen Dank
Ganz genau. Damit machst Du nur den Code leserlicher.
Gruss Helmut
ZitatIch möchte ein paar Codeschnipsel direkt in meine fhem.cfg übernehmen, verstehe aber das \ hinter den Zeilen nicht so richtig.
Meine Empfehlung: mach es über die Raw Def. Der Syntax ist dort identisch.
https://wiki.fhem.de/wiki/Konfiguration
Gruß Otto