[Plugin] AVM Fritz!Dect etc. mit Neutrino steuern

Gesperrt
Benutzeravatar
fred_feuerstein
NI - Team
Beiträge: 1285
Registriert: Di 5. Apr 2016, 16:11
Wohnort: Rhein-Main-Gebiet
Box: TankMut@ntTrinityZee²LinkHD1BSE
Been thanked: 2 times

[Plugin] AVM Fritz!Dect etc. mit Neutrino steuern

Beitrag von fred_feuerstein »

Überblick

Hier geht es um die Möglichkeit, die Smart Home Geräte von AVM und Comet aus der FritzDect Reihe oder auch entsprechende Gruppen davon auch per Coolstream schalten zu können.

Es geht um folgende Geräte:
Bild Bild BildBildBildBildBildBild

AVM Fritz!Dect 200 schaltbare Steckdose: klick
AVM Powerline 546E Steckdose: klick
Eurotronic Comet Dect klick
baugleiche Fritz!Dect 300 von AVM und ganz neu die Fritz!Dect 301 !: klick
die Aussensteckdose Fritz!Dect210: klick
Fritz!Dect Repeater 100: klick
Fritz!Dect Fernbedienung 440: klick
Fritz!Dect Fernbedienung 400: klick
Fritz!Dect LED Glühbirne 500: klick

(VORAB: das Plugin funktioniert auf Apollo, Kronos und Nevis! Zu Nevis, bitte die Anmerkung bei Punkt1 und Punkt2 beachten!! )

Einleitung

Ziel war es, mit der Fernbedienung die Steckdose ein- bzw. auszuschalten. (in meinem Fall hängt da eine Stehlampe im Wohnzimmer dran)
Dazu habe ich ein kleines Skript erstellt, welches die Steckdose steuern kann. Je nach aktuellem Zustand der Steckdose wird diese entweder ein oder aus geschaltet (toggle).

Das Login-Verfahren zur Anmeldung an der Fritzbox habe ich von folgender Quelle genutzt: klick
Dazu hatte ich die Info von SnowHead (Keywelt) bekommen.

Für die Steckdosen gibt es von AVM eine API mit weiteren Infos (für die Interessierten ;) ): klick

Voraussetzung

Natürlich benötigt ihr eine FritzBox, die SmartHome-fähig ist. Ausserdem eine oder mehrere FritzDect 200 oder Powerline 546E Steckdosen, die bereits mit der Fritzbox gekoppelt sind.

Vorbereitung/Installation

Es sind ein paar Dinge notwendig um diese Skripte/Plugins zu nutzen. Es müssen ein paar Sachen nachinstalliert werden.

Die generellen Schritte sind nun hier erklärt:
[+] Spoiler

1. iconv
NEU: ab 04.06.2020 wird iconv nicht mehr benötigt. Es reicht asc2uni. Das Tool ist in Images ab 04.06.2020 bereits enthalten.

Bitte also kontrollieren, ob unter /bin eine Datei namens iconv oder besser asc2uni enthalten ist.
Falls ja = OK und weiter mit Punkt 2.
Falls nein, am besten Image aktualisieren.

2. Zugangsdaten für Fritzbox/Fritzdect
Da das Skript die Zugangsdaten zur Fritzbox aus der bereits im Image enthaltenen smarthomeinfo.conf holt (diese wird aktuell bereits für die Smart Home Info genutzt), jetzt unter /var/tuxbox/config die smarthomeinfo.conf mit einem Linux-kompatiblen Editor aufrufen (Notepad++, Ultraedit, etc.) und kontrollieren, ob die Zugangsdaten zur Fritzbox (IP-Adresse und Passwort, oder User/Passwort) korrekt eingetragen sind und ggfs. entsprechend anpassen.
In dieser Datei sind auch bereits die IDs der Steckdosen (AIN) zu speichern. Ganz am Ende gibt es Variablen dafür:

Code: Alles auswählen

# FritzDect SmartHome Steckdosen an der Fritzbox (AIN-IDs, mit Leerzeichen)
# Beispiel: 08761 0012345
FRITZDECT1=
FRITZDECT2=
FRITZDECT3=
FRITZDECT4=
FRITZDECT5=
FRITZDECT6=
FRITZDECT7=
FRITZDECT8=

Und dann hinter FRITZDECT1= die AIN der Steckdose ergänzen! Diese ist über das Web-Interface der Fritzbox unter SmartHome zu sehen. Allerdings mit einem Leerzeichen in der Mitte. Die ID kann mit oder ohne Leerzeichen eingetragen werden.
Ausserdem darauf achten, dass am Ende der Datei eine "Leerzeile" enthalten bleibt!

3. Kopieren vom Plugin
Jetzt werden die Dateien aus dem Archiv fritzdect_toggle.zip entweder nach /lib/tuxbox/plugins oder besser nach /var/tuxbox/plugins kopiert (falls das Verzeichnis nicht vorhanden ist, einfach anlegen). Vorteil des /var/tuxbox/plugins Ordners bei Apollo und Kronos Plattform: Der Ordner bleibt auch nach dem Flashen eines neues Images erhalten, da im VAR Bereich.

Es sind folgende Dateien:

Code: Alles auswählen

fritzdect_toggle.cfg
fritzdect_toggle.so
fritzdect_toggle_hint.png
Bei der .so Datei noch die Rechte auf 755 setzen.

Manche FritzBoxen/Firmwareversionen haben scheinbar ein Problem mit dem laut AVM per API verfügbaren "automatischen" toggle-Modus. Wer also Probleme mit dem toggle hat, der kann im fritzdect_toggle.so Skript die Variable:

Code: Alles auswählen

# Toggle-Modus (manuell / auto), wer Probleme mit dem Toggle-Modus "auto" hat,
# bitte hier auf "manuell" stellen.
toggle="auto"
von "auto" auf "manuell" stellen.

Vorteil von "auto"-Mode ist, dass es etwas schneller beim Schalten ist. Wenn das aber so nicht klappt, dann einfach auf "manuell" stellen.
Zum Abschluss unter Menü / Services / die Plugins neu laden.
Jetzt sollte unter der blauen Taste das Plugin mit dem Namen: "FritzDect1 ein/aus" angezeigt werden und ist einsetzbereit. Bei Bedarf, kann in der .cfg Datei der Name angepasst werden.

Bei mir sieht es so aus:
Bild

Mit dem Ausführen des Plugins sollte sich nun die Steckdose jeweils abwechselnd bzw. nach aktuellen Schaltzustand entweder ein- oder ausschalten.

fertig!



Viel Spaß.
Dateianhänge
fritzdect_toggle_210120.zip
(6.32 KiB) 154-mal heruntergeladen
Benutzeravatar
fred_feuerstein
NI - Team
Beiträge: 1285
Registriert: Di 5. Apr 2016, 16:11
Wohnort: Rhein-Main-Gebiet
Box: TankMut@ntTrinityZee²LinkHD1BSE
Been thanked: 2 times

Re: [Tool] AVM Fritz!Dect u.v.m. mit Coolstream steuern / NI-Fritz!Smarthome Info

Beitrag von fred_feuerstein »

.
Optional

(VORAB: das Plugin funktioniert auf Apollo, Kronos und Nevis! Zu Nevis, bitte die Anmerkung bei Punkt1 und Punkt2 aus dem 1. Posting oben beachten!! )

1.
Über diesen Weg lassen sich relativ einfach auch weitere Steckdosen schalten.
Dazu einfach das fritzdect_toggle.so Skript kopieren und umbenennen (auch die entsprechende .cfg), anpassen und eben nicht die Variable FRITZDECT1 holen, sondern in diesem Eintrag:

Code: Alles auswählen

DECT200=`echo "$CONFIG" | grep FRITZDECT1 | cut -d "=" -f2 | tr -d ' '`
bspw. auf FRITZDECT2 ändern.

2.
Ich habe bei mir noch ein weiteres Skript im Einsatz, welches über die standby.off ausgeführt wird und zwischen bspw. 18.30 Uhr und 7.30 Uhr die Steckdose beim Einschalten der Coolstream direkt mit einschaltet.
Ausserdem noch ein weiteres Skript, welches die Steckdose, wenn die Coolstream ausgeschaltet wird, immer mit ausschaltet.

Diese beiden Skripte sind im Archiv: Optional.zip enthalten.

Nach der Idee von tewsbo kann man die Steckdose dynamisch nach Sonnenauf- und Untergang (pro Tag für Mittel-Deutschland gesetzt) schalten lassen. Die passende Datei mit den Uhrzeiten ist enthalten, heisst "SunUpDown.txt" und kommt nach /var/tuxbox/config !!
Somit muss man an dem Skript selbst nichts mehr ändern und die Zeiten sind automatisch "sinnvoll" gesetzt.

Diese Einstellung ist per default gewählt. Wer das nicht möchte, sondern Start und Endzeit manuell eintragen will, der kann den Schalter von:

Code: Alles auswählen

schalter="auto"
auf

Code: Alles auswählen

schalter="manuell"
setzen.

und ändert in diesem Absatz die Zeiten entsprechend:

Code: Alles auswählen

    #Feste Zeiten zwischen Uhrzeiten von Starttime bis Endtime (21:00 Uhr => 2100)
    STARTTIME="1830"
    ENDTIME="0730"
Generell muss der Aufruf dann über die standby.off unter /var/tuxbox/config eingestellt werden. Bei mir sieht die so aus:

Code: Alles auswählen

#!/bin/sh
/var/tuxbox/plugins/fritzdect_timeon.sh &
service tuxcald start
service tuxmaild start
Damit die Steckdose dann beim Ausschalten der Coolstream mit ausgeschaltet wird, gibt es noch das Skript fritzdect_aus.sh.
In diesem Skript muss nichts geändert werden.

Der Aufruf erfolgt über die standby.on unter /var/tuxbox/config. Bei mir sieht die so aus:

Code: Alles auswählen

#!/bin/sh
/var/tuxbox/plugins/fritzdect_aus.sh &
service tuxcald stop
service tuxmaild stop
fertig.
Dateianhänge
optional_210120.zip
(7.47 KiB) 146-mal heruntergeladen
Benutzeravatar
fred_feuerstein
NI - Team
Beiträge: 1285
Registriert: Di 5. Apr 2016, 16:11
Wohnort: Rhein-Main-Gebiet
Box: TankMut@ntTrinityZee²LinkHD1BSE
Been thanked: 2 times

Re: [Plugin] AVM Fritz!Dect etc. mit Coolstream steuern

Beitrag von fred_feuerstein »

obige Skripte angepasst.

Vorab, bei wem die vorhandenen Skripte funktionieren: es ist kein Update nötig. :)

Was wurde geändert:
Die Login-Methode zur FritzBox ist angepasst. Damit können auch User, die sich bei der FritzBox mit User/Passwort einloggen die Skripte nutzen. Bisher hat es nur bei Fritzbox-Login nur mit Passwort funktioniert.
Achtung: Wer die neuen Skripte nutzen will: die Login-Parameter, sowie FritzDect Geräte werden nun nicht mehr in der FritzCallMonitor.cfg, sondern in der smarthomeinfo.conf eingetragen.

Angefügt das Beispiel für die smarthomeinfo.conf. In NI Images seit Ende 2017 ist diese unter /var/tuxbox/config bereits enthalten und muss nur angepasst werden.
Dateianhänge
smarthomeinfo.zip
(702 Bytes) 153-mal heruntergeladen
Benutzeravatar
fred_feuerstein
NI - Team
Beiträge: 1285
Registriert: Di 5. Apr 2016, 16:11
Wohnort: Rhein-Main-Gebiet
Box: TankMut@ntTrinityZee²LinkHD1BSE
Been thanked: 2 times

Re: [Plugin] AVM Fritz!Dect etc. mit Neutrino steuern

Beitrag von fred_feuerstein »

die obigen scripte "fritzdect toggle", sowie die unter "optional" enthaltenen scripte sind aktualisiert.

Was ist geändert:
- iconv wird nicht mehr benötigt. Stattdessen wird das schlanke asc2uni verwendet. Dieses Tool ist ab 04.06.2020 in den nightly Images enthalten. Iconv wird demnächst aus den Images entfernt.

Vorteil vor allem bei Nevis Boxen, da iconv sehr groß war und somit viel Platz benötigt hat.
Benutzeravatar
fred_feuerstein
NI - Team
Beiträge: 1285
Registriert: Di 5. Apr 2016, 16:11
Wohnort: Rhein-Main-Gebiet
Box: TankMut@ntTrinityZee²LinkHD1BSE
Been thanked: 2 times

Re: [Plugin] AVM Fritz!Dect etc. mit Neutrino steuern

Beitrag von fred_feuerstein »

die obigen scripte "fritzdect toggle", sowie die unter "optional" enthaltenen scripte sind aktualisiert.

Was ist geändert:
- Login-Verfahren ist erweitert für die kommenden Firmware-Version ab 7.24 der Fritzboxen. (thx. tewsbo)
aktuell ist die 7.24 nur als Labor verfügbar, aber die Änderungen werden in die offiziell kommende 7.25 FW einfließen.
Die Scripte funktionieren mit allen Firmware-Versionen.
Gesperrt

Zurück zu „Plugins“