FritzBox DECT-SmartHome per Bash-Script - Unerwartetes Dateiende?

Moinsen, kann mir evtl jemand sagen, warum ich den Fehler: "Unerwartetes Dateiende" bekomme, wenn ich das Script von dieser Seite ausführe?

smart_fritz_terminal.sh

Sehe da keinen Fehler. Bin aber auch kein Bash-Skript Profi.
Weiß nicht immer genau was wo zu beachten ist.
Hoffe mir kann jemand helfen den Fehler zu finden.

Falls der Link nicht geht oder sich die Datei irgendwie ändern sollte, hier nochmal zusätzlich der Quelltext direkt.

#!/bin/bash
# Die Adresse der Fritzbox
# Beispiele:
# fbox="https://192.168.178.1:444" # SSL-Verschlüsselt, Port 444
# fbox="http://192.168.178.1" # http normal, Port 80
# fbox="abcdef28kk6oabcdef.myfritz.net:444" # myfritz-Adresse, SSL, Port 444
# fbox="https://[2001:a00:12b7:c300:a00:a000:feed:921c]:444" # IPv6-Adresse, SSL, Port 444

#################
# Konfiguration #
fbox="http://192....." # Bitte Adresse eintragen
# Bei https, Ausnahme für selbst signiertes Zertifikat, sonst leer lassen
INSECURE= 
#INSECURE="--insecure" 

# Vollständige Anzeige: full, leer lassen für schnellere Ergebnisse
VIEW="full"
# das bei der Fritzbox konfigurierte Passwort
# unter System->FRITZ!Box-Benutzer->Anmeldung im Heimnetz
# Ist die Option "Anmeldung mit dem FRITZ!Box-Kennwort" aktiv
# genügt das Passwort für die Anmeldung

PASSWD="geheim"
# Der Benutzernamen für die Fritzbox
# Dieser lässt sich unter "System -> FRITZ!Box-Benutzer" erstellen.
# Dann kann man die Option
# "Anmeldung mit FRITZ!Box-Benutzernamen und Kennwort" aktivieren

USER="MeinName" 
#################
if [ "$fbox" = "" ]; then
if [ "$fbox" = "" ]; then
echo Bitte Fritzbox Adresse im Script eintragen
exit 1
fi

RED='\033[0;31m'
GREEN='\033[0;32m'
CYAN='\033[0;36m' 
YELLOW='\033[0;33m'
NC='\033[0m'
CURL=$(which curl) 
MD5SUM=$(which md5sum)
ICONV=$(which iconv)
AWK=$(which awk)

# Die SmartHome-Seite der Fritzbox
CURLCMD="$CURL $INSECURE -s $fbox/webservices/homeautoswitch.lua"

# Funktion zum Ermitteln der SID / Anmeldung bei der Fritzbox
get_sid() {
SID=$($CURL $INSECURE -s $fbox/login_sid.lua | sed 's/.*<SID>\(.*\)<\/SID>.*/\1/')
if [ "$SID" = "0000000000000000" ]; then
challenge=$($CURL $INSECURE -s $fbox/login_sid.lua |  grep -o "<Challenge>[a-z0-9]\{8\}" | cut -d'>' -f 2)
echo challenge: $challenge
CPSTR="$challenge-$PASSWD"
hash=`echo -n $CPSTR | $ICONV -f ISO8859-1 -t UTF-16LE | $MD5SUM -b | $AWK '{print substr($0,1,32)}'`
echo MD5: $hash
RESPONSE="$challenge-$hash"
POSTDATA="?username=$USER&response=$RESPONSE"
SID=$($CURL $INSECURE --data "$POSTDATA" -s $fbox/login_sid.lua | sed 's/.*<SID>\(.*\)<\/SID>.*/\1/')
fi
echo SID: $SID
}

# Funktion zum Ermitteln von Werten
get_value() {
RESULT=""
if [ "$2" = "" ]; then
RESULT=$($CURLCMD"?sid=$SID&switchcmd=$1")
else
RESULT=$($CURLCMD"?sid=$SID&ain=$2&switchcmd=$1")
fi
}

get_sid # SID holen
if [ "$SID" = "0000000000000000" ]; then
echo -e  "${RED}Anmeldung fehlgeschlagen ${NC}"
exit 1
fi
if [ "$SID" = "" ]; then
echo -e  "${RED}Anmeldung fehlgeschlagen ${NC}"
exit 1
fi

echo -e  "${GREEN}Anmeldung erfolgreich ${NC}"
echo

# Liste der Schalter ermitteln
get_value getswitchlist
COUNTER=0
IFS=', ' read -r -a array <<< "$RESULT"

# Werte der Schalter holen
for AIN in "${array[@]}"
do
let COUNTER=COUNTER+1 
echo -e  "${YELLOW}Actor #$COUNTER ${NC}"
switchpresent=0
get_value getswitchname $AIN
echo -e  "${CYAN}Name: $RESULT ${NC}"
get_value getswitchpresent $AIN
echo AIN: $AIN
echo Connected: $RESULT
if [ "$RESULT" = "1" ]; then
# bei aktiven Schaltern 
# Parameter verarbeiten, etwa: 1 on
if [ "$1" = "$COUNTER" ]; then
  if [ "$2" = "on" ]; then
    get_value setswitchon $AIN
	echo "set #$COUNTER on"
  fi	
    if [ "$2" = "off" ]; then
      get_value setswitchoff $AIN
	  echo "set #$COUNTER off"
    fi	
    if [ "$2" = "toggle" ]; then
      get_value setswitchtoggle $AIN
	  echo "set #$COUNTER toggle"
    fi	
fi
  
  # Alle Werte ermitteln/ausgeben (langsamer)
  if [ "$VIEW" = "full" ]; then
   get_value getswitchstate $AIN
   echo State: $RESULT
   get_value getswitchpower $AIN
   switchpower=`awk "BEGIN {printf \"%.2f\n\", $RESULT/1000}"`
   echo Power: $switchpower W
   get_value getswitchenergy $AIN
   echo Energy: $RESULT Wh
   get_value gettemperature $AIN
   temperature=`awk "BEGIN {printf \"%.1f\n\", $RESULT/10}"`
   echo Temperature: $temperature °C
   echo
  fi 
fi

done
exit 0
  
Bash, DECT, FRITZ!Box, lua, Script, Shell, Terminal, sh, Smart Home
Wie kann ich mit einem Repeater ein eigenes Heimnetzwerk erstellen?

Hallo,

kurz zum Problem: ich habe einen Router, bei dem man sich über eine Weboberfläche einloggen muss (vorab: ich bin kein Systemadministrator und kann diesen Umstand definitiv nicht ändern, falls Ideen darauf hinauslaufen sollten) und einige Smart-Home-Geräte, die jetzt daran angeschlossen werden sollen. Nun ist das ja so, dass Smart-Home-Geräte üblicherweise keine Weboberfläche haben und sich nur über ein Passwort verifizieren können.

Nun ist meine Mission, einen Repeater (indem Fall der Marke TP-Link) so zu konfigurieren, dass er sich als einzelnes Gerät mit einer einzelnen MAC-Adresse beim Router ausweist und alle anderen Geräte, die mit dem Repeater verbunden sind, als dieses eine Gerät an den Router gemeldet werden. Dann könnte ich mich einmalig mit dem PC oder einem anderen WLAN-Gerät mit einer Weboberfläche beim Router einloggen und alle anderen Geräte könnten dann diesen Login nutzen.

Gleichzeitig muss der Repeater aber auch ein lokales Netzwerk herstellen, sodass die Geräte untereinander kommunizieren können.

Ich habe ja gehofft, das würde sich dadurch regeln lassen, indem man dem Repeater einfach eine andere SSID zuweist, als der Rooter hat, aber das war mal wieder zu naiv gedacht. Geht das überhaupt irgendwie?

Ich habe auch noch irgendwie das Wort Ad-hoc-Netzwerk im Kopf, ich weiß nicht, ob man dadurch so ein lokales Netzwerk über Windows herstellen kann. Wäre dann mein letzter Ausweg, obwohl ich den Laptop ungern nur dafür 24 Stunden am Tag laufen lassen würde.

Hat jemand eine Idee, wie man das realisieren kann?

Bild zu Frage
Windows, WLAN, Netzwerk, Heimnetzwerk, Router, WLAN-Router, MAC-Adresse, Repeater, TP-Link, WLAN-Repeater, Smart Home, Mesh-Netzwerk
Ist es erlaubt Smarte Lichtschalter in Mietwohnung nachrüsten zu lassen?

Ich bin vor kurzem in eine neue Wohnung gezogen und wollte meinen Gästen etwas gutes tun, die in meiner alten Wohnung nicht mit dem Smart Home zurecht gekommen sind. Das heißt für mich, dass alle Lichtschalter immer noch bedienbar sein sollen. Da später überall neue Lampen und intelligente Leuchtmittel dazu kommen sollen habe ich mich für die Lichtschalter Aqara H1 entschieden, da das Relais dahinter auch im Dauerbetrieb laufen kann.

Einen Schalter habe ich auch dann schon ausgetauscht, da dahinter eine Klemme war in die ich einfach den Neutralleiter stecken konnte. Naiv ging ich davon aus, dass das genauso einfach bei allen anderen Schaltern wird, ist aber nicht so. In allen Dosen die ich bisher angeschaut habe sind Neutralleiter die z.B. zu einer Lampe oder Steckdose im gleichen Stromkreis gehen, sollte also meines Wissens nach passen. Die Idee wäre hier also einfach den vorhandenen Neutralleiter teilen, beide Enden abisolieren und mit Klemmen verbinden, dass man dann den Schalter auch anbinden kann.

Da das ganze aber Änderungen der Hauselektronik bedeutet traue ich mir das nicht selbst zu und würde einen Fachmann beauftragen. Jetzt die Frage: Ist das in Mietwohnungen erlaubt? Gibt es vielleicht auch andere Alternativen, auf die ich einfach noch nicht gestoßen bin oder zu schnell verworfen habe? Und natürlich: Klappt das überhaupt so oder sollte ich einen Neutralleiter von einer Lampe gar nicht für so einen Schalter verwenden?

Danke im Voraus!

Strom, Elektrik, Elektriker, Elektroinstallation, Lichtschalter, Smart Home
Smarte LED Lampe: Leuchtet immer weiter.?

Guten Tag, ich habe mir vor ca. 3 Jahren eine Lola Smart Maxi 63x63 Lampe von LeuchtenDirekt im Einrichtungshaus für mein Schlafzimmer gekauft. Ich kann diese einerseits über den Lichtschalter steuern (was auch sehr gut funktioniert), aber die alternative Steuerung über Handy App bzw. Infrarot Fernbedienung macht Probleme.

Farben einstellen und co. funktioniert, und das Ein/Aus schalten scheint im ersten Augenblick auch zu funktionieren. Aber im Dunkeln sehe ich, dass die Lampe, wenn ich sie über Fernbedienung oder über WLAN ausgeschaltet habe, schwach weiterleuchtet. Dies ist nachts störend.

Wegen einer Erweiterung des Zimmers habe ich beschlossen mir zwei weiter zu bestellen, eine für die Küche, und eine zweite für das Schlafzimmer, welche an meine zweite Leitung an der Decke gehängt werden sollte. Aber auch bei dieser ist das gleiche Problem festzustellen.

Wenn ich diese Lampen aber über ein klassisches Stromkabel an der Steckdose anschließen (mit Lüsterklemme), habe ich dieses Problem nicht. Auch der Tausch beider Lampen im Schlafzimmer hat nichts gebracht.

Meine Lampe für die Küche (selbes Fabrikat) hat auch ein Problem... . Zwar geht diese an beiden Fassungen vollständig aus (auch über App), allerdings kann diese nur manchmal die Farben Blau und Rot anzeigen. Gestern Abend ging es, heute plötzlich nur noch Magenta/Weiß/Grün möglich. Also ein MIX aus Blau und Rot.

Wenn ich die Lampen allerdings nicht an dem Kabel aus der Decke anschließe, sondern über ein normales Stromkabel an der Steckdose betreibe, ist zumindest das Problem mit dem "Leuchten trotz ausschalten" behoben. Dann kann ich die Lampen mit Fernbedienung und über WLAN komplett ein und aus schalten. Nochmal: Mit dem physischen Lichtschalter klappt es an der Decke auch.

Ich weiß wirklich nicht, woran das liegen könnte und bitte um Rat, liegt es an den Lampen, oder doch an den Kabeln an der Decke? Eine Lampe hat auch mal an der normalen Steckdose trotz ausschalten geleuchtet. Woran könnte das alles liegen und was soll ich machen?

Vielen Dank im Voraus

PS: Auf der Kamera sieht es so aus, als würde die Lampe flackern, in echt aber nicht.

Computer, Lampe, Elektrik, Kabel, Licht, Elektriker, Elektrizität, Glühbirne, LED, Steckdose, Lola, Smart Home

Meistgelesene Fragen zum Thema Smart Home