Über FHEM RAW Definition einfügen

Begonnen von UweUwe, 11 November 2023, 12:36:02

Vorheriges Thema - Nächstes Thema

UweUwe

Ich benötige eine Hilfestellung, wie ich ein existierendes DOIF erweitern und modifizieren kann.

Ich habe im Einstiegerleitfaden gelesen, dass man über den Punkt "RAW Definition" ein DOIF in FHEM einbringen kann. Ich muss ein existierendes DOIF modifizieren und erweitern. Kann ich dies auf diesem Weg auch machen?

Konkreter:

Mein DOIF sieht aktuell so aus:


#   DEF        ([Bewohner:state] eq "home")
# (
# set teleBot message @#FalterBot Home Status im Falter,
# set da_Wlan on,
# set Buero_Schreibtisch on,
# set wo_Media on,
# set Buero_Raumfeld on,
# set Veranda_Raumfeld on,
# set Kueche_Raumfeld on
# )
#
# DOELSEIF  ([Bewohner:state] eq "absent") 
#                                            (
# set teleBot message @#FalterBot Absent Status im Falter,
# set T.Garage off,
# set FritzBox diversity 1 on
# )
#
#                DOELSEIF ([Bewohner:state] eq "gone")
#                                           (
# set teleBot message @#FalterBot Gone Status im Falter,
# set da_Wlan off,
# set Buero_Schreibtisch off,
# set wo_Media off,
# set Buero_Raumfeld off,
# set Veranda_Raumfeld off,
# set Kueche_Raumfeld off
#                                           )
#
   

Wenn ich jetzt das RAW Definition Fenster aufmache, so sehe ich :

defmod Home.Status.DOIF DOIF ([Bewohner:state] eq "home")\
(\
set teleBot message @#FalterBot Home Status im Falter,\
set da_Wlan on,\
set Buero_Schreibtisch on,\
set wo_Media on,\
set Buero_Raumfeld on,\
set Veranda_Raumfeld on,\
set Kueche_Raumfeld on\
) \
\
DOELSEIF  ([Bewohner:state] eq "absent")  \
                                            (\
set teleBot message @#FalterBot Absent Status im Falter,\
set T.Garage off, \
set FritzBox diversity 1 on\
)\
\
                DOELSEIF ([Bewohner:state] eq "gone") \
                                           (\
set teleBot message @#FalterBot Gone Status im Falter,\
set da_Wlan off,\
set Buero_Schreibtisch off,\
set wo_Media off,\
set Buero_Raumfeld off,\
set Veranda_Raumfeld off,\
set Kueche_Raumfeld off\
                                           )\

attr Home.Status.DOIF DbLogExclude .*

setstate Home.Status.DOIF cmd_2
setstate Home.Status.DOIF 2023-11-11 12:10:50 Device Bewohner
setstate Home.Status.DOIF 2023-11-11 12:10:50 cmd 2
setstate Home.Status.DOIF 2023-11-11 12:10:50 cmd_event Bewohner
setstate Home.Status.DOIF 2023-11-11 12:10:50 cmd_nr 2
setstate Home.Status.DOIF 2023-11-11 12:10:50 e_Bewohner_state absent
setstate Home.Status.DOIF 2023-11-11 12:10:50 error  set T.Garage off: Please define T.Garage first    set FritzBox diversity 1 on : ERROR: 'set ... diversity' is not supported by the limited interfaces of your Fritz!Box firmware.
setstate Home.Status.DOIF 2019-02-24 07:54:42 mode enabled
setstate Home.Status.DOIF 2023-11-11 12:10:50 state cmd_2

Sofort kommen wmir einige fragen:

* wie gehe ich mit den setstate Zeilen um?
* kann ich oben die von mir gewünschten Modifikationen wie in einem Editor durchführen
* wie sage ich dem Fenster, dass es jetzt das DOIF abspeichern soll
* ist das Fenster RAW Definition der richtige Weg oder muss ich einen anderen Weg beschreiten?




Damian

RAW-Definition bietet sich an, wenn man eine Moduldefinition von einer fhem-Installation auf eine andere übertragen möchte. Veränderungen an einer Definition würde ich über den DEF-Editor machen, denn beim Speichern überprüft das Modul die veränderte Definition auf ihre syntaktische Korrektheit. In einem Fehlerfall erhält man am Bildschirm entsprechende Fehlermeldung und die fehlerhafte Definition lässt sich nicht vornehmen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

RalfRog

Zitat von: UweUwe am 11 November 2023, 12:36:02Ich habe im Einstiegerleitfaden gelesen...

Vielleicht hilft zu RAW und DEF kurz dargestellt => https://wiki.fhem.de/wiki/Konfiguration
und zum RAW unten auf der Seite => https://heinz-otto.blogspot.com/2017/02/fhem-die-kommandozeile-wird-gro.html

sehr Wertvoll
ZitatVeränderungen an einer Definition würde ich über den DEF-Editor machen, denn beim Speichern überprüft das Modul die veränderte Definition auf ihre syntaktische Korrektheit.

Gruß
FHEM auf Proxmox VM Bookworm (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen