Hauptmenü

Neueste Beiträge

#11
Off-Topic / Hostname auf Pi plötzlich nich...
Letzter Beitrag von TomLee - 09 Februar 2026, 18:08:46
Hallo,

ich habe auf meiner Pi seit Monaten eine Anwendung in einem Docker-Container laufen, die unter dem Hostnamen https://fhempi erreichbar ist. Seit drei Tagen funktioniert der Zugriff über den Hostnamen nicht mehr - von einem Tag auf den anderen. Ein Update oder sonstige Änderungen am System gab es nicht.

Folgendes habe ich herausgefunden:

Zugriff über die IP-Adresse des Pi funktioniert immer.

Wenn ich den Pi neu starte, funktioniert der Hostname wieder für eine Weile (wie lange genau kann ich nicht sagen, weil es mir bisher immer erst rd. 24h nach Neustart auffiel)

Auf dem Pi selbst klappt folgender Befehl immer:
curl --head --insecure https://fhempi
HTTP/2 302
server: nginx
content-type: text/html; charset=utf-8
location: https://fhempi/login
cache-control: max-age=0, must-revalidate, private
date: Mon, 09 Feb 2026 14:55:29 GMT
expires: Mon, 09 Feb 2026 14:55:29 GMT
set-cookie: PHPSESSID=bd97a3d97777e733a32c36c237d1d4da; path=/; secure; httponly; samesite=lax
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN

Inhalt von /etc/hosts:
cat /etc/hosts
127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

127.0.1.1      fhempi

ping im "Fehlerfall" mit hostname klappt nur auf der Pi selbst, von anderen Geräten nur mit der IP-Adresse

Dem Maintainer des Projekt hab ich alle relevanten Logs gezeigt und er ist der Meinung das es nicht an der Anwendung liegen kann.

Kann hier jemand mit den gegeben Informationen sich was zusammenreimen und mir helfen die Ursache zu finden?

Gruß Thomas
#12
Anfängerfragen / Aw: MATTER im FHEM? Schon was ...
Letzter Beitrag von homy - 09 Februar 2026, 18:00:31
Zitat von: Wernieman am 09 Februar 2026, 17:56:57Komisch .. wie häufig ich schon bei diversen Projekten von "Umsteigern" solche Werbung gehört habe ....

warum bist Du dann auch wieder da?

(Sorry musste mal raus ... da schöne ist ja, das es verschiedene Arten gibt ein Problem zu lösen. Jedem das seine)

Sorry, und keine Sorge. Ich werde auch garantiert nicht wiederkommen.
#13
Sonstiges / Aw: httpmod.template: bugs, Fr...
Letzter Beitrag von DeeSPe - 09 Februar 2026, 17:58:10
Ich habe ein HTTPMOD Device für das Update von Zigbee2MQTT erstellt in Anlehnung an das schon hier zur Verfügung gestellte Device.
Die Ansicht hat mir nicht gefallen und der Code war auch teilweise "unschön".
Im Prinzip ist der Code fast komplett neu geschrieben und von unnötigem Ballast befreit. ;)
Bevor ich es als Template verwurste, wäre es schön wenn es von Euch mal getestet wird.
Über das Attribut "bridgeRegexp" kann der Regex angepasst werden um die z2m Bridge(s) zu finden, es wird auch ausgewertet ob der angegebene Regex überhaupt Device(s) zurückliefert.

defmod z2m_version_check HTTPMOD https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest 86400
attr z2m_version_check userattr bridgeRegexp showDevices:all,updatable
attr z2m_version_check bridgeRegexp TYPE=MQTT2?_DEVICE:FILTER=NAME=.*zigbee.*bridge.*
attr z2m_version_check devStateIcon {\
  my $lver = ReadingsVal($name,'latestVersion','');;\
  my $spec = AttrVal($name,'bridgeRegexp','TYPE=MQTT2?_DEVICE:FILTER=NAME=.*zigbee.*bridge.*');;\
  my $url = 'https://github.com/Koenkk/zigbee2mqtt/';;\
  my $link = '<a title="z2m versions" href="'.$url.'tags" target="_blank">z2m version</a>';;\
  my $fwb = 'font-weight:bold';;\
  my $tal = 'text-align:left';;\
  my $tar = 'text-align:right';;\
  my $ret = '<div style="'.$tal.'">';;\
  $ret .= '<p>last '.$link.' check: '.POSIX::strftime('%d.%m.%Y %H:%M',localtime(time_str2num(ReadingsTimestamp($name,'latestVersion','1970-01-01 00:00:00')))).'</p>';;\
  my $update = AttrVal($name,'showDevices','updatable');;\
  my $state = devspec2array($spec)?InternalVal($name,'STATE',''):'error => no valid devices found for devspec "'.$spec.'"';;\
  if ($state =~ m/^error/x) {\
    $ret .= '<p style="color:red;;'.$fwb.'">'.$state.'</p>'\
  } else {\
    $ret .= '<p style="color:limegreen;;'.$fwb.'">'.$state.'</p>';;\
    if ($state =~ m/^\d/x || $update eq 'all') {\
      my @devs = devspec2array($spec.($update eq 'all'?'':':FILTER=r:version!='.$lver));;\
      if (@devs) {\
        $url .= 'releases/tag/';;\
        my $bs = '1px solid grey';;\
        my $pa = 'padding:5px';;\
        my $br = 'border-right:'.$bs.';;'.$pa;;\
        $ret .= '<table style="'.$tal.';;border-collapse:collapse;;margin:10px 0 10px 0">';;\
        $ret .= '<thead><tr style="border-bottom:'.$bs.'"><th style="'.$br.'">device</th><th style="'.$br.';;'.$tar.'">current</th><th style="'.$br.';;'.$tar.'">new</th><th style="'.$pa.';;'.$tar.'">released</th></tr></thead>';;\
        $ret .= '<tbody>';;\
        my $cdevs = 0;;\
        for (@devs) {\
          my $ver = ReadingsVal($_,'version','');;\
          next if ($ver !~ m/^(\d+\.){2}\d+$/x);;\
          $cdevs += 1;;\
          $ret .= '<tr'.($cdevs==scalar(@devs)-1?' style="border-bottom:'.$bs.'"':'').'>';;\
          $ret .= '<td style="'.$br.'"><a href="/fhem?detail='.$_.'">'.AttrVal($_,'alias',$_).'</a></td>';;\
          $ret .= '<td style="'.$br.';;'.$tar.'"><a href="'.$url.$ver.'" target="_blank">'.$ver.'</a></td>';;\
          $ret .= '<td style="'.$br.';;'.$tar.'"><a'.($ver ne $lver?' style="color:red!important;;'.$fwb.'"':'').' href="'.$url.$lver.'" target="_blank">'.$lver.'</a></td>';;\
          $ret .= '<td style="'.$pa.';;'.$tar.'"><a ref="'.$url.$lver.'" target="_blank">'.ReadingsVal($name,'latestDate','').'</a></td>';;\
          $ret .= '</tr>';;\
        }\
        $ret .= '</tbody></table>';;\
      }\
    }\
  }\
  $ret .= '<p">next '.$link.' check: '.POSIX::strftime('%d.%m.%Y %H:%M',localtime(InternalVal($name,'.TRIGGERTIME',0))).'</p>';;\
  $ret .= '</div>';;\
  return $ret;;\
}
attr z2m_version_check enableControlSet 1
attr z2m_version_check event-on-change-reading latestVersion
attr z2m_version_check event-on-update-reading latestDate
attr z2m_version_check handleRedirects 0
attr z2m_version_check icon mqtt_bridge_1
attr z2m_version_check reading01JSON tag_name
attr z2m_version_check reading01Name latestVersion
attr z2m_version_check reading01OExpr $val =~ m/^(\d+\.){2}\d+$/x;; $val
attr z2m_version_check reading02JSON published_at
attr z2m_version_check reading02Name latestDate
attr z2m_version_check reading02OExpr $val =~ m/^(\d{4})-(\d\d)-(\d\d)T.*$/x;; "$3.$2.$1"
attr z2m_version_check stateFormat {\
  my $ret;;\
  if (!ReadingsVal($name,'latestVersion','')) {\
    $ret = 'error => no/wrong data from server!'\
  } else {\
    my @devs = devspec2array(AttrVal($name,'bridgeRegexp','TYPE=MQTT2?_DEVICE:FILTER=NAME=.*zigbee.*bridge.*'));;\
    my $cupd = 0;;\
    for (@devs) {\
      my $ver = ReadingsVal($_,'version','');;\
      $cupd += 1 if ($ver =~ /^((\d+\.){2}\d+)$/ && $ver ne ReadingsVal($name,'latestVersion',''))\
    }\
    $ret = $cupd==0?'no z2m update'.(scalar(@devs)>1?'s':'').' needed!':$cupd.' update'.($cupd>1?'s':'').' needed!';;\
  }\
  return $ret;;\
}
attr z2m_version_check webCmd reread

Danke vorab.

Gruß
Dan
#14
Anfängerfragen / Aw: MATTER im FHEM? Schon was ...
Letzter Beitrag von Wernieman - 09 Februar 2026, 17:56:57
Komisch .. wie häufig ich schon bei diversen Projekten von "Umsteigern" solche Werbung gehört habe ....

warum bist Du dann auch wieder da?

(Sorry musste mal raus ... da schöne ist ja, das es verschiedene Arten gibt ein Problem zu lösen. Jedem das seine)
#15
Automatisierung / Aw: [ASC] Bug? Adventssteuerun...
Letzter Beitrag von sukram - 09 Februar 2026, 17:54:28
Hallo zusammen!

Kurzes Update: mit der Änderung funktioniert das jetzt wie gewünscht, die Rollos fahren wieder zur normalen Zeit.

Zitat von: betateilchen am 07 Februar 2026, 11:53:37Warum prüft man nicht einfach auf den 33. Tag des Jahres, anstatt unzählige Vergleiche auf Monat und Tag zu machen?

Das musst den Entwickler des ASC Moduls fragen :) Zumindest mir erschließt sich die gewünschte Funktion so leichter, beim späteren lesen.

Klar, man könnte die Auswertung auch mit Bool'scher Logik in eine Zeile ohne If pressen, aber wer steigt da später noch mal durch?

MfG Markus

#16
SVG / Plots / logProxy / Aw: Bitte um Review: Erweiteru...
Letzter Beitrag von rudolfkoenig - 09 Februar 2026, 17:19:52
ZitatFür das Ausfüllen des Symbols habe ich einen Änderungsvorschlag (siehe Diff-Datei).
Das wuerde bewirken, dass die Flaeche nicht mit der vom ausgewaehlten Stil bestimmten Fuellfarbe gefuellt wird, sondern mit der Linienfarbe.
Bin noch nicht ueberzeugt, dass mir das gefaellt.

ZitatNicht gefunden habe ich die Stelle für die Plot-Legende. Die kommt immer noch in der falschen Farbe.
Bei mir scheint sie in Ordnung zu sein.
Kannst Du bitte einen Beispiel zeigen?
#17
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von klaus.schauer - 09 Februar 2026, 17:18:31
In der letzten Woche war meine Wärmepumpe auf "Abwesend" geschaltet. Erwartungsgemäß lagen die KI-Verbrauchsprognosen trotz presence=0
heftig daneben. Die Prognosen verbesserten sich erst zum Ende der Woche. Inzwischen haben sie sich wieder normalisiert.

Wäre es nicht gut, wenn man statt des festen Parameters comforttemp=<temp> eine setupEnvironment-Variable mit der aktuellen Raumsolltemperatur verwenden würde? Damit könnte man im Normalbetrieb die Nachtabsenkung signalisieren. Eine "Abwesenheit" würde für die Wärmepumpe dann auch über die Absenktemperatur angezeigt. Die presence-Variable muss nicht immer kausal mit einer Absenkung der Raumsolltemperatur zusammenhängen. U. U. lernt der KI-Algorithmus so schon durch die tägliche Nachtabsenkung auch das Verbrauchsverhalten bei einer längeren Abwesenheit.
#18
Perl für FHEM-User / Aw: Öffnungszeiten auswerten
Letzter Beitrag von TomLee - 09 Februar 2026, 17:04:27
Zitat von: betateilchen am 12 Februar 2025, 13:41:56Aber da kommst Du sicher auch noch drauf  8)

Hi,

seit gestern beschäftigt mich das wieder nebenbei.
Es interessiert mich weiterhin. Von alleine bin ich aber bis jetzt nicht drauf gekommen wie genau es ohne userReadings, Eventhandler Definition oder at gehen soll.
Kannst Du bitte sagen wie es genau umsetzbar wäre.
#19
Anfängerfragen / Darstellung der Spritpreise im...
Letzter Beitrag von ulobo60 - 09 Februar 2026, 16:44:40
Hallo Allerseits,

vorab an den Moderator KernSani: Sorry für das Posten im Anfänger-Forum.
Seit 2017 bin ich hier "Kunde" im fhem.de-Forum, und ich bin ausgesprochen zufrieden mit Eurem Service.
Allerdings hapert es bei mir persönlich mittlerweile wohl gehirntechnisch ein wenig (bin 75 Jahre) :(
Meine FTUI habe ich seit ca. 3 Jahren ziemlich unverändert im Einsatz. Dementsprechend sowie altersbedingt fällt es mir heute etwas schwerer, Zusammenhänge zu verstehen. Irgendwie fühle ich mich wieder wie ein Anfänger.
Ich habe mich durch die Forenübersicht geklickt und habe leider kein (aus meiner Sicht) speziell passendes Forum erspäht.

Mein Anliegen:
Bis gestern Morgen hatte ich für 1 Tag keinen Internet-Zugang mehr. Danke, Glasfaser.de :(
Seit gestern ca. 11:00 Uhr habe ich wieder Internet-Zugang.
Meine FTUI funktioniert auf meinem raspberry 4 seit gestern tadellos - fast...
Einziges Manko: die Darstellung von Spritpreisen im Grid (Screenshot siehe unten).
Es ist scheinbar die Grid-Formatierung nicht mehr aktiv !?

Bis zum Internet-Crash wurden die Super- und Diesel-Preise tadellos skaliert dargestellt.

Hier noch mein Quelltext zum "Spritmonitor Diesel":

<!-- 3b CHART Spritpreise DIESEL mit POPUP -->
  <li data-row="5" data-col="11" data-sizex="4" data-sizey="3">
<div class="top-narrow" data-type="popup" data-mode="fade" data-width="1100px" data-height="720px">
<div
data-type="chart"
data-height="185px"
data-device="TankstelleARAL"
data-get="Diesel"
data-logdevice="logdb"
data-logfile="HISTORY"
data-columnspec='["TankstelleARAL:Diesel","TankstelleESSO:Diesel","TankstelleSTAR:Diesel"]'
data-style='["ftui l0", "ftui l2", "ftui l4"]'
data-ptype='["lines","lines","lines"]'
data-uaxis='["primary","primary","primary"]'
data-ytext="D I E S E L"
data-minvalue="1.1"
data-maxvalue="1.7"
data-xticks="auto"
data-yticks="0.05"
data-yticks_format="#.##"
data-daysago_start="0"
data-daysago_end="-1"
data-showlegend="false"
class="nobuttons home_sprit_chart1">
</div>
<div class="dialog">
<header>
<div class="home_sprit_popchart_head">
<table width="60%">
<tr>
  <th class="home_sprit_ARALhead">ARAL</th>
  <th class="home_sprit_ESSOhead">ESSO</th>
  <th class="home_sprit_STARhead">STAR</th>
</tr>
</table>
</div>
</header>
<div
data-type="chart"
data-height="320px"
data-device="TankstelleARAL"
data-get="Diesel"
data-logdevice="logdb"
data-logfile="HISTORY"
data-columnspec='["TankstelleARAL:Diesel","TankstelleESSO:Diesel","TankstelleSTAR:Diesel"]'
data-style='["ftui l0", "ftui l2", "ftui l4"]'
data-ptype='["lines","lines","lines"]'
data-uaxis='["primary","primary","primary"]'
data-ytext="D I E S E L"
data-minvalue="1.1"
data-maxvalue="1.7"
data-xticks="auto"
data-yticks="0.05"
data-yticks_format="#.##"
data-daysago_start="2"
data-daysago_end="-1"
data-showlegend="false"
data-crosshair="true"
>
</div>
<div
data-type="chart"
data-height="320px"
data-device="TankstelleARAL"
data-get="Diesel"
data-logdevice="logdb"
data-logfile="HISTORY"
data-columnspec='["TankstelleARAL:SuperE5","TankstelleESSO:SuperE5","TankstelleSTAR:SuperE5"]'
data-style='["ftui l0", "ftui l2", "ftui l4"]'
data-ptype='["lines","lines","lines"]'
data-uaxis='["primary","primary","primary"]'
data-ytext="S U P E R"
data-minvalue="1.2"
data-maxvalue="1.75"
data-xticks="auto"
data-yticks="0.05"
data-yticks_format="#.##"
data-daysago_start="2"
data-daysago_end="-1"
data-showlegend="false"
data-crosshair="true"
class="home_sprit_popchart2">
</div>
</li>
<!-- Ende CHART DIESEL -->

 Für Eure Hilfe wäre ich sehr dankbar.
 ulobo60
 

 
#20
SVG / Plots / logProxy / Aw: Bitte um Review: Erweiteru...
Letzter Beitrag von WW - 09 Februar 2026, 15:51:22
Für das Ausfüllen des Symbols habe ich einen Änderungsvorschlag (siehe Diff-Datei).

Nicht gefunden habe ich die Stelle für die Plot-Legende. Die kommt immer noch in der falschen Farbe.