Hauptmenü

Neueste Beiträge

#41
DOIF / Aw: Übergroße Symbole in uitab...
Letzter Beitrag von cwagner - 18 September 2025, 10:18:20
Zitat von: Damian am 13 September 2025, 18:53:22DOIF-Modul wurde schon seit einigen Monaten nicht geändert, es muss also an etwas anderem liegen.
Da war ich auch von ausgegangen - inzwischen habe ich ein zweites System geupdated und prompt auch dort den Effekt. Im SolarForcast-odul verschwinden in beiden Systemen auch die Icons in der Grafik der Stromflüsse. Weiß noch nicht, ob es an einem Modul im FHEM (aktuellster Stand) oder PI-OS (neuester Stand auf PI5) liegt.

Es scheint aber aktuell niemand anderen getroffen zu haben?
#42
Bastelecke / Aw: ESP RGBWW Wifi Led Control...
Letzter Beitrag von vbs - 18 September 2025, 10:00:25
Wird das dann in HA per MQTT angebunden? Ist das dann die Standard "MQTT Light" oder irgendwas Eigenes (esphome-Integration?).
#43
Bastelecke / Aw: ESP RGBWW Wifi Led Control...
Letzter Beitrag von kmxak - 18 September 2025, 09:16:29
Eine eigenständige Integration würde ich persönlich nicht machen wären mir zu weniger User. Esphome ist recht simpel und gut zu konfigurieren. Ich mag das inzwischen sehr gerne.
Einzig auf ein webui habe ich verzichtet,wäre aber möglich. Wer davon aber ein Freund ist ist falsch bei esphome da man da nicht so viel umsetzen kann um es kurz schlicht zu beschreiben.

Ich geb bescheid wenn ich es umgestellt habe.
#44
Bastelecke / Aw: ESP RGBWW Wifi Led Control...
Letzter Beitrag von vbs - 18 September 2025, 09:07:20
Also eine Firmware auf Basis von esphome und das dann in HA integriert? Ja gern, schick mal ruhig. Guck ich gern mal rein.

Das Problem ist, dass ich HA noch nie benutzt habe und im Prinzip ganz wenig Ahnung habe, wie das funktioniert und wie man das benutzt... Daher auch für mich nicht so einfach, da eine Integration schreiben zu wollen, weil mir da einfach der Hintergrund fehlt.
#45
Anfängerfragen / Aw: Vertretungsapp API - für F...
Letzter Beitrag von matze1999 - 18 September 2025, 08:55:05
Hallo,

ich habe jetzt für mich, auch unter Einsatz von Chatgpt, eine Lösung gefunden. Ich habe ein script, dass ich den Stundenplan des nächsten Tages abrufen lasse und in ein dummy Device "Stundenplan" in FHEM als separate readings stundenweise schreiben lasse:

#!/bin/bash

# Konfiguration
FHEM_HOST="localhost"
FHEM_PORT="7072"
FHEM_DEVICE="Stundenplan"
INFO_READING_PREFIX="Stunde"

# Datum des nächsten Tages im Format YYYYMMDD
NEXT_DAY_DATE=$(date -d "+1 day" +"%Y%m%d")
URL="https://[user]:[pass]@www.stundenplan24.de/[Schulnummer]/mobil/mobdaten/PlanKl${NEXT_DAY_DATE}.xml"

# XML-Datei herunterladen
curl -s "${URL}" > /tmp/stundenplan.xml

# Überprüfen, ob die XML-Datei gültig ist
if [ ! -s /tmp/stundenplan.xml ]; then
  perl fhem.pl "${FHEM_HOST}:${FHEM_PORT}" "setreading ${FHEM_DEVICE} status Error: No XML file or empty"
  exit 1
fi

# >> NEUE LOGIK: Alle alten Readings löschen
perl fhem.pl "${FHEM_HOST}:${FHEM_PORT}" "deletereading ${FHEM_DEVICE} .*"

# Alle Stunden-Informationen für die Klasse mit xmlstarlet auslesen
AUSGABE=$(xmlstarlet sel -t -m "//Kl[Kurz='[Klasse]']/Pl/Std" \
-v "St" -o "|" -v "Fa" -o "|" -v "If" -n /tmp/stundenplan.xml)

# die neuen Kommandos in ein bash array schreiben
declare -a FHEM_COMMANDS

# Für jede Stunde ausführen und die Daten speichern
COUNTER=0
while IFS='|' read -r STUNDE FA_INFO IF_INFO; do
 
  # LeereZeilen im xmlstarlet output ignorieren
  if [ -z "$STUNDE" ]; then
    continue
  fi
 
  # Zähler erhöhen
  COUNTER=$((COUNTER + 1))
 
  # Default für fehlende Inhalte setzen
  if [ -z "$FA_INFO" ]; then
    FA_INFO="$EMPTY_INFO_STRING"
  fi
 
  # Alle Readings Kommandos dem FHEM_COMMANDS array zufügen
  FHEM_COMMANDS+=("setreading ${FHEM_DEVICE} ${INFO_READING_PREFIX}${COUNTER}_Stunde ${STUNDE}")
  FHEM_COMMANDS+=("setreading ${FHEM_DEVICE} ${INFO_READING_PREFIX}${COUNTER}_Fa ${FA_INFO}")
 
  # ODas'If' reading hinzufügen, wenn es nicht leer ist
if [ -n "$IF_INFO" ]; then
    FHEM_COMMANDS+=("setreading ${FHEM_DEVICE} ${INFO_READING_PREFIX}${COUNTER}_If ${IF_INFO}")
  fi

done <<< "$AUSGABE"

# Wenn keine Stunden gefunden werden Status setzen
if [ "${COUNTER}" -eq 0 ]; then
  FHEM_COMMANDS+=("setreading ${FHEM_DEVICE} status_info Kein Stundenplan für Klasse 5d gefunden.")
fi

# Anzahl der Gesamtstunden setzen
FHEM_COMMANDS+=("setreading ${FHEM_DEVICE} Stundenanzahl ${COUNTER}")

# Dass array abarbeiten und jedes Kommando zu FHEM senden
for cmd in "${FHEM_COMMANDS[@]}"; do
  perl fhem.pl "${FHEM_HOST}:${FHEM_PORT}" "$cmd"
done

# das Hilfsfile löschen
rm /tmp/stundenplan.xml

exit 0

Das ganze lasse ich zu bestimmten Zeiten aus FHEM ausführen, und dann im Device Stundenplan anzeigen:

mit diesem stateFormat

{
  # Translation table for German weekdays and months
  my %weekdays = (
    "Mon" => "Montag",
    "Tue" => "Dienstag",
    "Wed" => "Mittwoch",
    "Thu" => "Donnerstag",
    "Fri" => "Freitag",
    "Sat" => "Samstag",
    "Sun" => "Sonntag"
  );
  my %months = (
    "Jan" => "Januar",
    "Feb" => "Februar",
    "Mar" => "März",
    "Apr" => "April",
    "May" => "Mai",
    "Jun" => "Juni",
    "Jul" => "Juli",
    "Aug" => "August",
    "Sep" => "September",
    "Oct" => "Oktober",
    "Nov" => "November",
    "Dec" => "Dezember"
  );
 
  # Calculate the date for tomorrow (current time + 86400 seconds)
  my $next_day_timestamp = time + 86400;
  my $date = localtime($next_day_timestamp);
  my ($weekday_en, $month_en, $day, $time, $year) = split(/\s+/, $date);

  # Translate the weekday and month to German
  my $weekday_de = $weekdays{$weekday_en};
  my $month_de = $months{$month_en};
 
  # Build the final output string
  my $output = "$weekday_de, $day. $month_de $year<br><br>";
 
  for (my $i=1; $i<=ReadingsVal($name,"Stundenanzahl",0); $i++) {
    my $stunde = ReadingsVal($name,"Stunde".$i."_Stunde","");
    my $fach = ReadingsVal($name,"Stunde".$i."_Fa","");
    my $info = ReadingsVal($name,"Stunde".$i."_If","");

    if ($stunde ne "") {
      $output .= "Stunde $stunde: $fach";
      if ($info ne "") {
        $output .= " ($info)";
      }
      $output .= "<br>";
    }
  }
  return $output;
}

Das sieht dann so aus:

matze1999

PS: das ist richtig dargestellt, die ersten beiden Stunden sind geteilt, deshalb werden sie doppelt dargestellt.
#46
FHEM Code changes / Revision 30307: controls_fhem....
Letzter Beitrag von System - 18 September 2025, 08:10:08
Revision 30307: controls_fhem.txt: fhemupdate checkin

controls_fhem.txt: fhemupdate checkin

Source: Revision 30307: controls_fhem.txt: fhemupdate checkin
#47
Bastelecke / Aw: ESP RGBWW Controller - Fir...
Letzter Beitrag von pjakobs - 18 September 2025, 08:07:12
Zitat von: weini am 18 September 2025, 07:55:45Aber nach meinem Verständnis sollten Scenes auch mit einem Controller sinnvoll nutzbar sein. Das wird dann mit dem Bugfix funktionieren, vielen Dank dir!

genau, Du kannst ohne Probleme eine Gruppe für nur einen Controller anlegen und für den Szenen definieren.

Das macht allerdings nur dann Sinn, wenn die Szene eine Abfolge (bzw. Animation) von Farben haben soll.
#48
Bastelecke / Aw: ESP RGBWW Wifi Led Control...
Letzter Beitrag von kmxak - 18 September 2025, 08:04:35
Ich hab mir die Tage genau sowas für ha mit esphome gebastelt. Ist aber aktuell noch im privaten repo. Darfst es aber gerne testen bei interesse. Edit: oh habe gerade noch die anderen Kommentare gelesen. Wusste nicht das das schon mehrere gefordert hatten. Hatte vor ein paar Jahren schon mal ne alternative Firmware angefangen aber irgendwann nicht weiter gemacht.

Ich poliere heute mal das repo und stelle auf öffentlich. Hatte aber bislang nur einen testcontroller dran. Ziel wäre es von der originalen Firmware ota auf esphome zu kommen. Habe ich aber noch nicht getestet ob das funktionieren würde oder einen converter brauche. Das manuelle flashen wollte ich unbedingt umgehen.
#49
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von Parallix - 18 September 2025, 08:02:05
Zitat von: DS_Starter am 17 September 2025, 17:10:36...
- Battery_ChargeRequest_01 -> ist ein Reading welches eine Notladung (vom Grid) signalisiert falls (im Winter) lowSoc unterschritten werden sollte
...

Vielleicht sollten wir statt des Begriffs "Notladung" besser "Erhaltungsladung" verwenden.

Grund: Eine Notladung wird üblicherweise vom BAT-System selber ausgelöst und zwar dann, wenn sich das BAT-System nicht mehr weit von einem Zustand befindet, bei dem aufgrund einer zu geringen Spannung einzelner Zellen das System beschädigt werden kann.
#50
Bastelecke / Aw: ESP RGBWW Controller - Fir...
Letzter Beitrag von weini - 18 September 2025, 07:55:45
Ok, verstehe.
Dass die Gruppe bei einem Controller keinen Sinn macht, leuchtet ein.

Aber nach meinem Verständnis sollten Scenes auch mit einem Controller sinnvoll nutzbar sein. Das wird dann mit dem Bugfix funktionieren, vielen Dank dir!