Am Sonntag den 8.12.2024 kann es ab ca. 8:00 Uhr zu kurzzeitigen Einschränkungen / Ausfällen bei den Diensten des FHEM Vereines kommen.
Die Server müssen mal gewartet und dabei neu gestartet werden
Zitat von: Otto123 am 05 Dezember 2024, 15:51:47Im Terminal sudo raspi-config aufrufen und dann:
Punkt 3 Interface Options Configure connections to peripherals
Punkt I6 Serial Port Enable/disable shell messages on the serial connection
Frage: Would you like a login shell to be accessible over serial? mit <No> beantwortet
Frage: Would you like the serial port hardware to be enabled? mit <Yes> beantwortet
Quittung: The serial login shell is disabled │ The serial interface is enabled -> Ok
Jetzt neu starten. Man muss keine Dateien editieren!
Danach solltest Du die AMA0 haben, die funktioniert dann auch.
MQTTBridge:weconnect2?/vehicles/XXX/pictures/car:.* { WriteFile("www/images/ID7_car.png",$EVENT);; {img_car=>"<html><a href=\"fhem/www/images/ID7_car.png\">ID7_car.png</a></html>"} }
usw. # /bin/sh
#
# WeConnectHelper.sh 1.0
#
# Script file to support connection to Volkswagen WeConnect
#
# Prof. Dr. Peter A. Henning, 2024
#
# $Id: WeConnectHelper.sh 2024-12 - pahenning $
#
########################################################################################
FHEMDEV="ID7" # FHEM Devicename for ID.7
FHEMIP="192.168.0.xx" # IP address for FHEM
FHEMPORT="8083" # Port number for FHEM
FHEMHTTPS="false" # true for HTTPS, false without HTTPS
curlprog="curl"
curlargs="" # -k to disable HTTPS certificate check,
# -u user:password for user and password
### FHEM path ###
if [ $FHEMHTTPS = "true" ]; then
csrf=`$curlprog -s -D - "https://$FHEMIP:$FHEMPORT/fhem?XHR=1" | awk '/X-FHEM-csrfToken/{print $2}' | tr -d "\r\n"`
FHEM="https://$FHEMIP:$FHEMPORT/fhem?XHR=1&fwcsrf=$csrf&cmd.$FHEMDP"
else
csrf=`$curlprog -s -D - "http://$FHEMIP:$FHEMPORT/fhem?XHR=1" | awk '/X-FHEM-csrfToken/{print $2}' | tr -d "\r\n"`
FHEM="http://$FHEMIP:$FHEMPORT/fhem?XHR=1&fwcsrf=$csrf&cmd.$FHEMDP"
fi
wc1=`systemctl status weconnect-mqtt | awk '/Active/{print $2}'`
wc2=`systemctl status weconnect-mqtt2 | awk '/Active/{print $2}'`
#-- if both are active, deactivate secondary service
if [ $wc1 = "active" ] && [ $wc2 = "active" ] ; then
systemctl stop weconnect-mqtt2
wc1=`systemctl status weconnect-mqtt2 | awk '/Active/{print $2}'`
$curlprog $curlargs "$FHEM=setreading%20$FHEMDEV%20weconnectServiceStatus%20stopped secondary" &
fi
### execute commands ##
case $1 in
start)
#-- if one is active, send error message
if [ $wc1 = "active" ] || [ $wc2 = "active" ] ; then
$curlprog $curlargs "$FHEM=setreading%20$FHEMDEV%20weconnectServiceStatus%20running already" &
else
#-- if both are inactive, activate primary service
if [ $wc1 = "inactive" ] && [ $wc2 = "inactive" ] ; then
systemctl start weconnect-mqtt
wc1=`systemctl status weconnect-mqtt | awk '/Active/{print $2}'`
$curlprog $curlargs "$FHEM=setreading%20$FHEMDEV%20weconnectServiceStatus%20started primary" &
fi
fi
;;
toggle)
#-- if both are inactive, activate primary service
if [ $wc1 = "inactive" ] && [ $wc2 = "inactive" ] ; then
systemctl start weconnect-mqtt
wc1=`systemctl status weconnect-mqtt | awk '/Active/{print $2}'`
$curlprog $curlargs "$FHEM=setreading%20$FHEMDEV%20weconnectServiceStatus%20started primary" &
else
#-- if primary is active, stop primary and start secondary
if [ $wc1 = "active" ] ; then
systemctl stop weconnect-mqtt
systemctl start weconnect-mqtt2
wc1=`systemctl status weconnect-mqtt | awk '/Active/{print $2}'`
wc2=`systemctl status weconnect-mqtt2 | awk '/Active/{print $2}'`
$curlprog $curlargs "$FHEM=setreading%20$FHEMDEV%20weconnectServiceStatus%20toggled to secondary" &
else
#-- secondary is active, stop it and start secondary
systemctl stop weconnect-mqtt2
systemctl start weconnect-mqtt
wc1=`systemctl status weconnect-mqtt | awk '/Active/{print $2}'`
wc2=`systemctl status weconnect-mqtt2 | awk '/Active/{print $2}'`
$curlprog $curlargs "$FHEM=setreading%20$FHEMDEV%20weconnectServiceStatus%20toggled to peimary" &
fi
fi
;;
stop)
#-- if none is active, send error message
if [ $wc1 = "inactive" ] && [ $wc2 = "inactive" ] ; then
$curlprog $curlargs "$FHEM=setreading%20$FHEMDEV%20weconnectServiceStatus%20stopped already" &
else
#-- if primary is active, stop it
if [ $wc1 = "active" ] ; then
systemctl stop weconnect-mqtt
wc1=`systemctl status weconnect-mqtt | awk '/Active/{print $2}'`
$curlprog $curlargs "$FHEM=setreading%20$FHEMDEV%20weconnectServiceStatus%20stopped primary" &
#-- if secondary is active, stop it
else
systemctl stop weconnect-mqtt2
wc2=`systemctl status weconnect-mqtt2 | awk '/Active/{print $2}'`
$curlprog $curlargs "$FHEM=setreading%20$FHEMDEV%20weconnectServiceStatus%20stopped secondary" &
fi
fi
esac
#-- update FHEM readings
$curlprog $curlargs "$FHEM=setreading%20$FHEMDEV%20weconnectService%20$wc1" &
$curlprog $curlargs "$FHEM=setreading%20$FHEMDEV%20weconnectService2%20$wc2" &
Zitat von: be-ro am 04 Dezember 2024, 21:19:39Mindestens die Fahrzeug-Bilder sind schon individuellNa, individuell sicher nicht. Mein Kennzeichen lautet nicht "ID.7", das kommt also aus der Konfigurationsdatenbank. Ich könnte ja jetzt wieder böse sein und vermuten, dass VW aus dem Grund so wenig Farben und Ausstattungsvarianten anbietet.
Zitat von: sven-voss am 05 Dezember 2024, 16:01:39Hallo,
gibt es hier zu etwas neues? Oder braucht es den Umweg über eine HA Instanz?
Gruß Sven
Zitat von: spi3845 am 22 Oktober 2024, 18:48:23Hallo zusammen,
ich habe auf die Schnelle das python-xsense Modul getestet. Zugriff auf x-sense funktioniert damit relativ einfach. Vielleicht lässt es sich über fhempy einbinden? Hat jemand schon Erfahrungen gesammelt mit fhempy?
Falls jemand python-xsense testen will, so hat's bei mir geklappt (ich nutze Linux) in einem Verzeichnis:python3 -m venv xsense # virt. Umgebung für Python schaffen, damit Pakete nicht durcheinanderkommen
source xsense/bin/activate # in virt. Umgebung wechseln, Verlassen später per deactivate
cd xsense
pip install python-xsense # python-xsense Modul installieren
pip install aiohttp # notwendiges Modul installieren
pip install setuptools # notwendiges Modul installieren
git clone https://github.com/theosnel/python-xsense.git # git python-xsense Repository clonen - da sind Beispiele drin
cd python-xsense
cp .env.sample .env # hier kommen dann später Username und Passwort rein
### in der x-sense App einen neuen User anlegen, Einladung bestätigen (hatte schon einen weiteren User, weiß nicht mehr, ob Bestätigung per Link in Email oder in App notwenig ist)
vi .env # Username und Passwort eintragen
python3 setup.py --name --fullname --version # Test, ob Modul korrekt geladen wird
python3 asynctest.py # Test Zugriff auf x-sense Geräte, sollten als json aufgelistet werden
python3 test.py # ebenfalls Test Zugriff
Wenn das Python Modul nicht mehr benötigt wird, das erstellte xsense-Verzeichnis einfach löschen, dann ist das alles weg.