Plugin ‚avm‘ Konfiguration
Im folgenden sind etwaige Anforderungen und unterstützte Hardware beschrieben. Danach folgt die Beschreibung, wie das Plugin avm konfiguriert wird. Außerdem ist im folgenden beschrieben, wie das Plugin in den Item Definitionen genutzt werden kann. [1]
Es handelt sich bei diesem Plugin um ein interface Plugin.
ACHTUNG: Dieses Plugin ist als develop gekennzeichnet. Es kann daher sein, dass es noch nicht Feature-Complete oder noch fehlerhaft ist.
Beschreibung
Ansteuerung von AVM FRITZ!Boxen, WLAN-Repeatern, DECT Steckdosen, etc.
Anforderungen
Minimum SmartHomeNG Version: 1.8
Konfiguration
Im folgenden ist beschrieben, wie das Plugin avm konfiguriert wird. Außerdem ist im folgenden beschrieben, wie das Plugin in den Item Definitionen genutzt werden kann.
Parameter
Das Plugin verfügt über folgende Parameter, die in der Datei ../etc/plugin.yaml
konfiguriert werden:
avm_home_automation
(optional) Aktiviert oder deaktiviert den Zugriff auf AVM Smarthome Geräte mit dem AHA HTTP Interface.
Datentyp: bool
Standardwert: False
call_monitor
(optional) Aktiviert oder deaktiviert den MonitoringService, welcher auf den Call Monitor des FritzDevice verbindet. Der Call Monitor muss über ein verbundenes Telefon via ‚#96*5*‘ aktiviert sein.
Datentyp: bool
Standardwert: False
call_monitor_incoming_filter
(optional) Filter, auf welche eigenen Rufnummern (oder Teile davon) der Callmonitor reagieren soll. Ist der Filter leer, werden alle eigenen Rufnummern überwacht. Wird ein Filterstring bspw. „12234“ angegeben, werden nur die eigenen Anschlussnummern, die „12234“ enthalten, vom CallMonitor verarbeitet.
Datentyp: str
cycle
(optional) Zeit zwischen zwei Runs. Default ist 300 Sekunden.
Datentyp: int
Standardwert: 300
host
Hostname oder IP-Adresse des FritzDevice.
Datentyp: str
log_entry_count
(optional) Anzahl der Log-Messages, die verarbeitet/bereitgestellt werden. 0 = alle
Datentyp: int
Standardwert: 200
password
(optional) Passwort für den Login. Wird in der Regel immer benötigt und aus Sicherheitsgründen empfohlen.
Datentyp: str
port
(optional) Port des FritzDevice, normalerweise 49443 für https oder 49000 für http
Datentyp: int
Standardwert: 49443
ssl
(optional) Mit True wird das FritzDevice via https, mit False via http angesprochen.
Datentyp: bool
Standardwert: True
tr064_item_blacklist
(optional) Wenn aktiv, werden TR064 Items, deren Abfrageergebnis 2x zu einen Fehler geführt hat, blacklisted und anschließend nicht mehr abgefragt.
Datentyp: bool
Standardwert: False
username
(optional) Nutzername für den Login. Kann für manche Features benötigt werden! (Speziell für Fritz!OS 7 ist die Konfiguration der Fritz!Box auf Anmeldung mit FRITZ!Box-Benutzernamen und Kennwort notwendig
Datentyp: str
verify
(optional) Schaltet die Zertifikate-Prüfung an oder aus. Normalerweise False.
Datentyp: bool
Standardwert: False
Item Attribute
Das Plugin unterstützt folgende Item Attribute, die in den Dateien im Verzeichnis ../items
verwendet werden:
avm_ain
(optional) Definition der AktorIdentifikationsNummer (AIN) Items vom avm_data_types für AHA-Interface. Nur für diese Items mandatory!
Datentyp: str
avm_data_cycle
Poll-Zyklus des AVM Datentyps des jeweiligen Items. 0-Nur beim Initialisieren Lesen; 10+ - Zyklisch Lesen
Datentyp: int
avm_data_type
AVM Datentyp des jeweiligen Items.
Datentyp: str
Mögliche Werte:
uptime
serial_number
software_version
hardware_version
manufacturer
product_class
manufacturer_oui
model_name
description
device_log
security_port
reboot
myfritz_status
call_direction
call_event
monitor_trigger
is_call_incoming
last_caller_incoming
last_call_date_incoming
call_event_incoming
last_number_incoming
last_called_number_incoming
is_call_outgoing
last_caller_outgoing
last_call_date_outgoing
call_event_outgoing
last_number_outgoing
last_called_number_outgoing
call_duration_incoming
call_duration_outgoing
tam
tam_name
tam_new_message_number
tam_old_message_number
tam_total_message_number
wan_connection_status
wan_connection_error
wan_is_connected
wan_uptime
wan_ip
wan_upstream
wan_downstream
wan_total_packets_sent
wan_total_packets_received
wan_current_packets_sent
wan_current_packets_received
wan_total_bytes_sent
wan_total_bytes_received
wan_current_bytes_sent
wan_current_bytes_received
wan_link
wlanconfig
wlanconfig_ssid
wlan_guest_time_remaining
wlan_associates
wps_active
wps_status
wps_mode
wlan_total_associates
hosts_count
hosts_info
mesh_topology
number_of_hosts
hosts_url
mesh_url
network_device
device_ip
device_connection_type
device_hostname
connection_status
is_host_active
host_info
number_of_deflections
deflections_details
deflection_details
deflection_enable
deflection_type
deflection_number
deflection_to_number
deflection_mode
deflection_outgoing
deflection_phonebook_id
aha_device
hkr_device
set_temperature
temperature
set_temperature_reduced
set_temperature_comfort
firmware_version
device_id
manufacturer
product_name
fw_version
connected
device_name
tx_busy
device_functions
set_target_temperature
target_temperature
current_temperature
temperature_reduced
temperature_comfort
temperature_offset
set_window_open
window_open
windowopenactiveendtime
set_hkr_boost
hkr_boost
boost_active
boostactiveendtime
summer_active
holiday_active
battery_low
battery_level
lock
device_lock
errorcode
set_simpleonoff
simpleonoff
set_level
level
set_levelpercentage
levelpercentage
set_hue
hue
set_saturation
saturation
set_colortemperature
colortemperature
unmapped_hue
unmapped_saturation
color
hsv
color_mode
supported_color_mode
fullcolorsupport
mapped
switch_state
switch_mode
switch_toggle
power
energy
voltage
humidity
alert_state
blind_mode
endpositionsset
statistics_temp
statistics_hum
statistics_voltage
statistics_power
statistics_energy
avm_deflection_index
(optional) Index für die Rufumleitung, normalerweise für die erste eine „1“.
Datentyp: int
Minimalwert: 1
Maximalwert: 32
avm_incoming_allowed
(optional) Definition der erlaubten eingehenden Rufnummer in Items vom avm_data_type monitor_trigger.
Datentyp: str
avm_mac
(optional) Definition der MAC Adresse für Items vom avm_data_type network_device. Nur für diese Items mandatory!
Datentyp: mac
avm_read_after_write
(optional) Konfiguriert eine Verzögerung in Sekunden nachdem ein Lesekommando nach einem Schreibkommando gesendet wird.
Datentyp: int
avm_tam_index
(optional) Index für den Anrufbeantworter, normalerweise für den ersten eine „1“. Es werden bis zu 5 Anrufbeantworter vom Gerät unterstützt.
Datentyp: int
Minimalwert: 1
Maximalwert: 5
avm_target_number
(optional) Definition der erlaubten angerufenen Rufnummer in Items vom avm_data_type monitor_trigger.
Datentyp: str
avm_wlan_index
(optional) Definition des Wlans über index (1: 2.4Ghz, 2: 5Ghz, 3: Gäste)
Datentyp: int
Minimalwert: 1
Maximalwert: 3
Logik Parameter
Das Plugin verfügt über folgende Parameter, die in der Datei ../etc/logic.yaml
konfiguriert werden:
Keine Logik Parameter in den Metadaten beschrieben - Bitte in der README nachsehen (siehe Fußnote)
Plugin Functions
Das Plugin verfügt über folgende öffentliche Funktionen, die z.B. in Logiken aufgerufen werden können.
cancel_call()
Beendet einen aktiven Anruf.
Die Funktion liefert kein Ergebnis
get_call_origin()
Gib den Namen des Telefons zurück, das aktuell als ‚call origin‘ gesetzt ist.
Ergebnistyp der Funktion: str
get_calllist(filter_incoming= ‚‘, phonebook_id=0)
Ermittelt ein Array mit dicts aller Einträge der Anrufliste (Attribute ‚Id‘, ‚Type‘, ‚Caller‘, ‚Called‘, ‚CalledNumber‘, ‚Name‘, ‚Numbertype‘, ‚Device‘, ‚Port‘, ‚Date‘,‘ Duration‘ (einige optional)).
Ergebnistyp der Funktion: list(dict(str))
filter_incoming
Filter, um nur die Anrufe zu erhalten, die zu einer bestimmten angerufenen Nummer gehören.
Datentyp: str
phonebook_id
ID des Telefonbuchs, in dem nachgeschlagen werden soll.
Datentyp: int
Standardwert: 0
get_contact_name_by_phone_number(phone_number, phonebook_id=0)
Durchsucht das Telefonbuch mit einer (vollständigen) Telefonnummer nach Kontakten. Falls kein Name gefunden wird, wird die Telefonnummer zurückgeliefert.
Ergebnistyp der Funktion: str
phone_number
Vollständige Telefonnummer
Datentyp: str
phonebook_id
ID des Telefonbuchs, in dem nachgeschlagen werden soll.
Datentyp: int
Standardwert: 0
get_deflection(deflection_id)
Liefert die Details der Rufumleitung der angegebenen ID zurück (Default-ID = 0)
Ergebnistyp der Funktion: bool
deflection_id
Identifikator der abzufragenden Rufumleitung.
Datentyp: int
get_deflections()
Liefert die Details aller Rufumleitungen zurück.
Ergebnistyp der Funktion: bool
get_device_log_from_lua()
Ermittelt die Logeinträge auf dem Gerät über die LUA Schnittstelle /query.lua?mq_log=logger:status/log.
Ergebnistyp der Funktion: list(list(str))
get_device_log_from_tr064()
Ermittelt die Logeinträge auf dem Gerät über die TR-064 Schnittstelle.
Ergebnistyp der Funktion: list(str)
get_host_details(index)
Ermittelt die Informationen zu einem Host an einem angegebenen Index.
Ergebnistyp der Funktion: dict(str)
index
Index
Datentyp: int
get_hosts(only_active)
Ermittelt ein Array mit den Namen aller verbundener Hosts.
Ergebnistyp der Funktion: list(dict(str))
only_active
True, wenn nur aktuell aktive Hosts zurückgegeben werden sollen.
Datentyp: bool
get_hosts_dict(only_active)
Liefert Informationen aller Hosts als Dictionary
Ergebnistyp der Funktion: dict
only_active
True, wenn nur aktuell aktive Hosts zurückgegeben werden sollen.
Datentyp: bool
get_hosts_list(identifier_list, filter_dict)
Liefert Informationen gefilterte Information zu den verbundenen Hosts als Array
Ergebnistyp der Funktion: list(dict)
identifier_list
Liste von Identifiers des Hosts, die zurückgegeben werden sollen; (möglich: ‚Index‘, ‚IPAddress‘, ‚MACAddress‘, ‚HostName‘, ‚FriendyName‘)
Datentyp: list
filter_dict
Dict von Filtern, für welche die Host-Identifier zurückgegeben werden sollen (bspw: filter={‚Active‘: False} gibt alle nicht-aktiven Host zurück)
Datentyp: dict
get_mesh_topology()
Liefert die Mesh-Topologie als Dictionary
Ergebnistyp der Funktion: dict
get_number_of_deflections()
Liefert die Anzahl der Rufumleitungen zurück.
Ergebnistyp der Funktion: bool
get_phone_name(index)
Gibt den Namen eines Telefons an einem Index zurück. Der zurückgegebene Wert kann in ‚set_call_origin‘ verwendet werden.
Ergebnistyp der Funktion: str
index
Index
Datentyp: int
get_phone_numbers_by_name(name, phonebook_id=0)
Durchsucht das Telefonbuch mit einem Namen nach nach Kontakten und liefert die zugehörigen Telefonnummern.
Ergebnistyp der Funktion: dict(dict(str))
name
Anteiliger oder vollständiger Name des Kontakts.
Datentyp: str
phonebook_id
ID des Telefonbuchs, in dem nachgeschlagen werden soll.
Datentyp: int
Standardwert: 0
is_host_active(mac_address)
Prüft, ob eine MAC Adresse auf dem Gerät aktiv ist. Das kann bspw. für die Umsetzung einer Präsenzerkennung genutzt werden.
Ergebnistyp der Funktion: bool
mac_address
MAC Adresse
Datentyp: mac
reboot()
Startet das Gerät neu.
Die Funktion liefert kein Ergebnis
reconnect()
Verbindet das Gerät neu mit dem WAN (Wide Area Network).
Die Funktion liefert kein Ergebnis
set_call_origin(phone_name)
Setzt den ‚call origin‘, bspw. vor dem Aufruf von ‚start_call‘.
Die Funktion liefert kein Ergebnis
phone_name
Identifikator des Telefons, dass als ‚call origin‘ gesetzt werden soll. bspw. zwei Sterne gefolgt von ‚610‘ für ein internes Gerät.
Datentyp: mac
set_deflection_enable(deflection_id, enable)
Schaltet die Rufumleitung mit angegebener ID an oder aus.
Ergebnistyp der Funktion: bool
deflection_id
Identifikator der abzufragenden Rufumleitung.
Datentyp: int
enable
An / Aus
Datentyp: bool
start_call(phone_number)
Startet einen Anruf an eine übergebene Telefonnummer (intern oder extern).
Die Funktion liefert kein Ergebnis
phone_number
Vollständige Telefonnummer, die angerufen werden soll.
Datentyp: str
wol(mac_address)
Sendet einen WOL (WakeOnLAN) Befehl an eine MAC Adresse.
Die Funktion liefert kein Ergebnis
mac_address
MAC Adresse
Datentyp: mac