FritzBox: FHEM2CCU - FB-Stati an die CCU übermitteln

Aus FHEMWiki

Dient zum Übertragen diverser FB-Status an die HomeMatic CCU1.

Das Script aktualisiert die angegebenen FB-Status bei FHEM Start und nach definierbarer Zeit. Bei Änderung eines Status wird die SystemVariable in der CCU gesetzt. FHEM benötigt root!

fhem.cfg

define CCU_IP dummy
# IP-Adresse der CCU eingeben
set CCU_IP xxx.xxx.xxx.xxx
include ./FHEM/FHEM2CCU_FritzBox.cfg

FHEM2CCU_FritzBox.cfg

define CCU_SysVar_Prefix dummy
# Prefix für SystemVariablen kann hier geändert werden (Standart: FB_)
set CCU_SysVar_Prefix FB_
# WLAN
define WLAN_STATUS dummy
attr WLAN_STATUS room Fritz!Box
define WLAN_check at +*00:05:00 trigger WLAN_check
define WLAN_STATUS_set notify (WLAN_check|global:INITIALIZED) {\
 my $v=`ctlmgr_ctl r wlan settings/ap_enabled`;;\
 chomp($v);;\
 fhem "set WLAN_STATUS $v" if($v ne Value("WLAN_STATUS"));;\
}
define WLAN_ntfy notify WLAN_STATUS {\
 GetFileFromURL "http://" . Value("CCU_IP") . ":8181/fhem2ccu.exe?Status=dom.GetObject('" . Value("CCU_SysVar_Prefix") . "WLAN').State(" . Value("WLAN_STATUS") . ")"\
}
 
# WLAN5
define WLAN5_STATUS dummy
attr WLAN5_STATUS room Fritz!Box
define WLAN5_check at +*00:05:00 trigger WLAN5_check
define WLAN5_STATUS_set notify (WLAN5_check|global:INITIALIZED) {\
 my $v=`ctlmgr_ctl r wlan settings/ap_enabled_scnd`;;\
 chomp($v);;\
 fhem "set WLAN5_STATUS $v" if($v ne Value("WLAN5_STATUS"));;\
}
define WLAN5_ntfy notify WLAN5_STATUS {\
 GetFileFromURL "http://" . Value("CCU_IP") . ":8181/fhem2ccu.exe?Status=dom.GetObject('" . Value("CCU_SysVar_Prefix") . "WLAN5').State(" . Value("WLAN5_STATUS") . ")"\
}
 
# WLANGast
define WLANGast_STATUS dummy
attr WLANGast_STATUS room Fritz!Box
define WLANGast_check at +*00:05:00 trigger WLANGast_check
define WLANGast_STATUS_set notify (WLANGast_check|global:INITIALIZED) {\
 my $v=`ctlmgr_ctl r wlan settings/guest_ap_enabled`;;\
 chomp($v);;\
 fhem "set WLANGast_STATUS $v" if($v ne Value("WLANGast_STATUS"));;\
}
define WLANGast_ntfy notify WLANGast_STATUS {\
 GetFileFromURL "http://" . Value("CCU_IP") . ":8181/fhem2ccu.exe?Status=dom.GetObject('" . Value("CCU_SysVar_Prefix") . "WLANGast').State(" . Value("WLANGast_STATUS") . ")"\
}

fhem Frontend

Status an die CCU senden:

trigger WLAN_STATUS

Status aktuallisieren:

trigger WLAN_check

Einstellungen CCU

Firewall für FHEM-Server freigeben, SystemVariablen anlegen (Standard: FB_WLAN, usw.) Bei einem Neustart der CCU sollten die aktuellen Status geholt werden (wget, CUxD):

http://user:pwd@192.168.1.1:8083/fhem?cmd=trigger+WLAN_STATUS;trigger+WLAN5_STATUS;trigger+WLANGast_STATUS

Links