Hauptmenü

Neueste Beiträge

#1
MQTT / Aw: CarConnectivity
Letzter Beitrag von Prof. Dr. Peter Henning - 06 April 2026, 06:28:41
Warum wohl habe ich unten geschrieben
ZitatErst einmal gehört das nicht eigentlich in das MQTT-Unterforum, sondern in "Wallboxen und E-Fahrzeuge". Denn hier geht es nicht um ein MQTT-spezifisches Problem.
::)  ::)

Zweitens ist die Information über clientid auch dort schon zu finden: https://forum.fhem.de/index.php?topic=138239.0

Ich habe jetzt für CarConnectivity einen neuen Thread aufgemacht

https://forum.fhem.de/index.php?topic=144396

LG

pah

#2
Sonstige Systeme / Aw: FHEM-Integration von Tapo ...
Letzter Beitrag von Prof. Dr. Peter Henning - 06 April 2026, 06:13:51
Das kann man zwar so machen, habe ich in ähnlicher Weise schon 2016 in den "SmartHome Hacks" beschrieben, siehe Anlage.

Hat allerdings in der Form hier den wesentlichen Nachteil, dass auch jeder vom Wind bewegte Zweig eine Telegram-Nachricht auslöst. In meinem alten Beispiel habe ich mit ImageMagick ein Differenzbild erzeugt, das erspart den pixelweisen Vergleich. Nicht nur kann man da sehr flexibel eine Schwelle setzen, sondern vor allem eine Maske integrieren.

Der bessere Weg wäre jedoch, die integrierten Erkennungsfunktionen der Kamera für Menschen, Tiere, Fahrzeuge etc. zu nutzen und dafür die Kommunikation der Kamera mit der App zu belauschen. Es muss eigentlich möglich sein, die Benachrichtigungsadresse der Kamera umzubiegen. Die ersten Ansätze dafür gibt es in pytapo schon.

Der Link auf snapshot.sh ist tot.

ZitatAnleitung hier funktioniert bei mir leider nicht.
Das ist mir zu vage.

LG

pah

#3
In diesem Thread bitte nur noch VW-spezifische Dinge posten. Für CarConnectivity habe ich einen neuen Thread aufgemacht

https://forum.fhem.de/index.php?topic=144396

LG

pah
#4
Neuer Thread zu CarConnectivity: https://forum.fhem.de/index.php?topic=144396

LG

pah
#5
Da CarConnectivity inzwischen auf mehr Fahrzeugtypen ausgeweitet wird, mache ich dafür einen neuen Thread auf.

Zitat von: Prof. Dr. Peter Henning am 29 November 2025, 16:48:05Nach kurzer Diskussion mit Till Steinbach hat dieser die Version 0.9.3 des Carconnectivity-connector-volkswagen freigegeben. Darin sind jetzt auch die Daten für Türen und Fenster drin, prima. Man muss nur in der Konfiguration setzen

Zitat"force_enable_access": true // To allow for door/window state

Jetzt fehlt von den kritischen Readings nur noch die Überwachung des 12V-Batterielevel.


Till Steinbach, der Maintainer von carconnectivity, sucht einen Renault/Dacia-Nutzer, um seine Software auf diese Fahrzeugfamilie auszudehnen. Siehe hier https://github.com/tillsteinbach/CarConnectivity-plugin-mqtt/issues/147#issuecomment-4106736672

Hier der erste Code dafür: https://github.com/tillsteinbach/CarConnectivity-connector-renaultdacia/

LG

pah

P.S.: Vorschlag zwar von mir, aber der Dacia meiner Tochter kommt erst in ein paar Monaten

#6
FRITZ!Box / Aw: 72_FRITZBOX.pm wird zu 72_...
Letzter Beitrag von Nobbynews - 06 April 2026, 05:16:30
Hallo Jörg,

ich bin jetzt mal alles durchgegangen.
Sinnvolle Ergbnisse kommen bei:
boxName
energy
environment
initDPM
led
log_filter_all
log_filter_fon
log_filter_sys
netDev
wGuest
wKey
wSet
wTime
wSet
wlanChannels
wlanEnvironment
wps
Ein Fehler wird ausgeworfen bei:
ringtones
Bei allen anderen erfolgt nur die Ausgabe von overview.

Norbert
#7
FHEMWEB / Aw: [Voicecontrol] Button für ...
Letzter Beitrag von schwatter - 05 April 2026, 23:17:48
So,

damit geht es nur mit 01_FHEMWEB.pm

  # Initialize internal structures
  map { addToAttrList($_, "FHEMWEB") } (
    "additionalInformIds",
    "cmdIcon",
    "devStateIcon:textField-long",
    "devStateStyle",
    "icon",
    "sortby",
    "webCmd",
    "webCmdLabel:textField-long",
    "widgetOverride"
  );

  my %h = map { $_ => 1 } devspec2array($filter);
  # --- Manuelle IDs in den Überwachungs-Hash injizieren (start)---
  my $addIds = AttrVal($FW_wname, "additionalInformIds", undef);
  if(my $addIds = AttrVal($FW_wname, "additionalInformIds", undef)) {
    map { $h{$_} = $FW_visibleDeviceHash{$_} = 1 if($defs{$_}) } split(/\s*,\s*/, $addIds);
  }
  # --- Manuelle IDs in den Überwachungs-Hash injizieren (ende)---
  $h{global} = 1 if( $me->{inform}{addglobal} );

attr WEBphone additionalInformIds Pumpe_FBH_Pwr,Kuehlschrank
Gruß schwatter
#8
FHEM Code changes / Revision 31083: 76_SolarForeca...
Letzter Beitrag von System - 05 April 2026, 22:50:10
Revision 31083: 76_SolarForecast: contrib Version 2.5.1

76_SolarForecast: contrib Version 2.5.1

Source: Revision 31083: 76_SolarForecast: contrib Version 2.5.1
#9
Sonstige Systeme / Aw: FHEM-Integration von Tapo ...
Letzter Beitrag von andre07 - 05 April 2026, 22:42:08
Motion habe ich realisiert mit hilfe des PSNR Wert verglichen in einer kleinen script, den wert habe ich so lange runtergesetzt bis es gepaßt hat bei mir 18 für diese Kamera.PSNR mißt die Unterschiede zwischen zwei bildern pixel für Pixel.
Im terminal dann testen und anpassen mit /opt/fhem/tapo/.venv/bin/python3 -u /opt/fhem/tapo_motion.py
das script sieht so aus #!/opt/fhem/tapo/.venv/bin/python3
import subprocess
import time
import requests
import os

SNAPSHOT_SCRIPT = "/opt/fhem/tapo_snapshot.sh"
SNAPSHOT_PATH = "/opt/fhem/www/images/Tapo.jpg"
PREV_PATH = "/tmp/Tapo_prev.jpg"
FHEM_IP = "192.168.0.0"
FHEM_PORT = "8083"
COOLDOWN = 60
INTERVAL = 10

last_alert = 0

def take_snapshot():
    subprocess.run(["sudo", SNAPSHOT_SCRIPT], capture_output=True)

def images_differ():
    if not os.path.exists(PREV_PATH):
        return False
    subprocess.run(["convert", SNAPSHOT_PATH, "-resize", "320x180!", "/tmp/curr.jpg"], capture_output=True)
    subprocess.run(["convert", PREV_PATH, "-resize", "320x180!", "/tmp/prev.jpg"], capture_output=True)
    result = subprocess.run([
        "compare", "-metric", "PSNR",
        "/tmp/curr.jpg", "/tmp/prev.jpg",
        "/dev/null"
    ], capture_output=True, text=True)
    raw = result.stderr.strip()
    try:
        psnr = float(raw.split()[0])
        print(f"PSNR: {psnr}", flush=True)
        return psnr < 18
    except:
        print(f"Parse Fehler: '{raw}'", flush=True)
        return False

def send_alert():
    requests.get(
        f"http://{FHEM_IP}:{FHEM_PORT}/fhem",
        params={"cmd": "set telegram_andre sendImage /opt/fhem/www/images/Tapo.jpg Bewegung Tapo C210", "XHR": "1"}
    )

print("Starte Motionerkennung...", flush=True)

# Erstes Bild als Referenzwert
take_snapshot()
time.sleep(2)
subprocess.run(["cp", SNAPSHOT_PATH, PREV_PATH])
print("Referenzbild gespeichert", flush=True)

while True:
    try:
        # dann neues bild holen
        take_snapshot()
        time.sleep(2)

        # Vergleichen mit vorherigem Bild
        now = time.time()
        if images_differ() and (now - last_alert > COOLDOWN):
            last_alert = now
            print(f"Bewegung erkannt! {time.strftime('%H:%M:%S')}", flush=True)
            send_alert()

        # Aktuelles Bild als neues Referenzbild speichern
        subprocess.run(["cp", SNAPSHOT_PATH, PREV_PATH])

    except Exception as e:
        print(f"Fehler: {e}", flush=True)

    time.sleep(INTERVAL)
snapshot.sh ist das hier vorgestellte.
Fehlt mir nur noch wie ich auf der Steuerung der Kamera zugreifen kann die Anleitung hier funktioniert bei mir leider nicht.

Andre
#10
ESP Familie / Aw: Eigenbau Fleischtemperatur...
Letzter Beitrag von Papa Romeo - 05 April 2026, 22:36:00
Zitat von: JudgeDredd am 04 April 2026, 18:37:51Ich dachte nur, ich klöppele was aus den Teilen, die ich sowieso noch hier rumliegen habe was zusammen.

https://wolles-elektronikkiste.de/funk-grillthermometer-433-mhz

LG
Papa Romeo