Neuigkeiten:

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 ;)

Hauptmenü

Neueste Beiträge

#91
MQTT / Aw: Devicename ohne MQTT2_...
Letzter Beitrag von rudolfkoenig - 05 Dezember 2024, 17:07:23
@cryptik: das Problem wird vom Unicode-Decode patch hier: https://forum.fhem.de/index.php?topic=139807.msg1326592#msg1326592 verursacht.
Ich habe jetzt eine Version eingecheckt, was vmtl. dein Problem hier loest, und hoffentlich keine Neuen schafft.
Dieses Problem bitte im verlinkten Thema weiterdiskutieren.
#92
Fehlerberichte / Aw: CUL unter RPi5 und bookwor...
Letzter Beitrag von Sailor - 05 Dezember 2024, 16:51:14
Hallo Otto

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.

Was mache ich nur ohne dich!  ;)
Jetzt ist AMA0 auch da!
Danke!


In fhem lässt sich das gute Stück auch einbinden, allerdings gibt der Befehl get mySCC version nichts zurück.
Angeblich soll ja schon eine Firmware drauf sein...

Gruß
    Sailor
#93
Automatisierung / Device_Interval und Attribute_...
Letzter Beitrag von wollik - 05 Dezember 2024, 16:35:10
Hallo werte Forumsmitglieder,
um meine Logs zu Minimieren, suche ich nach Lösungen um unwichtige Werte nur gelegentlich abzufragen. Das wollte ich mittels Intervalle realisieren. 

1.) Interval für ein Device:
Ich möchte gerne den Interval für ein Device via Script ändern.
z.B. den Interval für das Abfragen meines Devices "Wallbox" ändern, jeh nachdem ob ein Fahrzeug angesteckt ist oder nicht.
Also alle z.B. 15 Minuten checken ob "Connected", wenn ja dann alle 20 Sekunden die Ladewerte abfragen.

2.) Poll Interval für ein Attribut:
Die zweite Änderung betrifft das Poll Interval, das ich via Script ändern möchte. Ich möchte den beim Anlegen vergebenen Pollinteval dynamisch jeh nach Situation ändern. Also einen kurzen Deviceinterval und längere (dynamisch änderbare) unterschiedliche Intervalle für die einzelnen Attribute.

Bitte hat jemand so etwas schon gemacht und kann mit dabei helfen?

Viele Grüße
wollik




#94
Sonstiges / Aw: VW ID.7, ID.5, ID.4, ... ...
Letzter Beitrag von Prof. Dr. Peter Henning - 05 Dezember 2024, 16:28:38
OK, Danke. Ich habe erstens die vier Bilder in den Readings nacheinander, und zweitens aus dem Reading gleich einen Link zum Anklicken gemacht. Das Reading "status" brauche ich nämlich für etwas anderes, und ein Reading "car" ist nicht unbedingt ein Hinweis auf ein Bilddatei.
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.

Was der Informationsgehalt der Bilder sein sollte, ist mir auch noch nicht klar. Statische Fotos meines Autos kann ich selber besser machen, die brauche ich nicht von VW zu beziehen.

Außerdem habe ich jetzt zwei verschiedene Services weconnect-mqtt und weconnect-mqtt2 eingerichtet. Dazu kommt ein nettes kleines Shellscript, das (natürlich mit Root-Rechten!) zwischen den beiden Services umschaltet. Mit anderen Worten: Wenn meine Holde das Auto fährt (und ich den doofen Benziner nehmen muss), kommen trotzdem weiterhin Daten. Und welcher Service aktiv ist, wird gleich noch in ein Reading des ID7-Device geschrieben
# /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" &

LG

pah

Zitat von: be-ro am 04 Dezember 2024, 21:19:39Mindestens die Fahrzeug-Bilder sind schon individuell
Na, 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.
#95
FHEM Code changes / Revision 29401: 93_DbLog: inse...
Letzter Beitrag von System - 05 Dezember 2024, 16:20:56
Revision 29401: 93_DbLog: insertmode 0 - improved output of errors in Logfile

93_DbLog: insertmode 0 - improved output of errors in Logfile

Source: Revision 29401: 93_DbLog: insertmode 0 - improved output of errors in Logfile
#96
Solaranlagen / Aw: [98_fronius.pm] Fronius AP...
Letzter Beitrag von dieter114 - 05 Dezember 2024, 16:19:08
Das mit der Kontinuität des Fronius ist so eine Sache:
Mal läuft alles problemlos durch und machmal dauert es ewig lange bis wieder Daten kommen.
Wie schon beschrieben verwende ich nur die Readings PowerFlow_Site_P_PV, PowerFlow_Site_P_Akku
PowerFlow_Site_P_Grid und rechne jede Minute mit UserReadings damit was zusammen.
Die drei Werte werden zuverlässig jede Minute (bisher jedenfalls) erzeugt.
Alle anderen Werte werden oft nur alle 10 Minuten oder noch später erneuert.

LG WDS
#97
Sonstige Systeme / Aw: x-sense WLAN Rauchmelder e...
Letzter Beitrag von spi3845 - 05 Dezember 2024, 16:18:21
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

Ne, ich habe keine Ahnung, wie man fhempy nutzt, anderweitig python-xsense in fhem integriert oder gar ein eigenes fhem-Modul baut.

Viele Grüße,
spi
#98
Automatisierung / Aw: ASC Brightness
Letzter Beitrag von Tom1000 - 05 Dezember 2024, 16:08:43
Moin

habe jetzt alles Mögliche ausprobiert, aber kein stabil nachvollziehbares Verhalten erreicht.

heute sind die Rollos bei einem Helligkeitswert weit unter der definierten Grenze nach unten gefahren. Laut Event Monitor gab es vorher schon mehrere Events mit niedrigeren Grenzwerten als definiert.

Ich prüfe nochmal die Zeiten, falls die eine Priorität haben sollten.
#99
Anfängerfragen / Aw: Mit setreading NULL setzen
Letzter Beitrag von Otto123 - 05 Dezember 2024, 16:06:32
Hallo Christoph,

du meinst mit NULL gar nix - also so?
setreading Test temperature {(return undef)}
Gruß Otto
#100
Sonstige Systeme / Aw: x-sense WLAN Rauchmelder e...
Letzter Beitrag von sven-voss - 05 Dezember 2024, 16:01:39
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.




Hallo,
gibt es hier zu etwas neues? Oder braucht es den Umweg über eine HA Instanz?

Gruß Sven