Neueste Beiträge

#91
FHEMWEB / Aw: Timeout bei umfangreicher ...
Letzter Beitrag von rudolfkoenig - 01 Juni 2026, 21:37:22
ZitatRaspberry Pi Zero W Rev 1.1 (=eine CPU)
Das hat mir gefehlt, damit konnte ich das Problem nachstellen.
Ich habe den Patch-Vorschlag uebernommen und eingecheckt.

ZitatKönnte es vielleicht am delete($defs{$name})/delete($attr{$name}); in FW_Read liegen, wird damit diese Verbindung "gelöscht" und somit für FW_closeInactiveClients verborgen?
Das ist Absicht, "plotEmbed=2" Verbindungen werden nach der Berechnung beendet, und muessen nicht extra geprueft werden.

Der Nachteil von plotEmbed2 ist, dass geforkt wird, und damit auf kleinen Systemen zu einem Speicherengpass kommen kann.
#92
Wallboxen und E-Fahrzeuge / Aw: RenaultZE
Letzter Beitrag von ph0x - 01 Juni 2026, 20:10:36
Es sieht so aus, als ob Renault nun die 2FA durchgesetzt hat.
Weder evcc noch fhem zeigen den Ladezustand an. Dafür ist der Spring jetzt voll, danke für nichts.

Bis jemand mit einer Methode zur Extraktion eines Tokens daherkommt, müssen wir wohl auf die Funktion verzichten ...

#93
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von 300P - 01 Juni 2026, 20:04:10
Zitat von: dieter114 am 01 Juni 2026, 17:08:50Den anderen Fehler mit dem Boot werde ich nicht nochmal versuchen....

Ja das sieht (V2.6.11 FHEM-Update) danach aus als wenn die nicht evtl. (noch nicht) vorhandenen Driftananalysewerte das verursachen.
Das muss Heiko nach seinem Urlaub dann etwas anpassen.
Lass bitte solange - wie schon von dir gemacht - alles ohne die Nutzung des CON-AI::FANN-Forecast laufen. ;)  O:-)

Zitat von: dieter114 am 01 Juni 2026, 17:08:50Der attr Forecast ctrlUserExitFn Fehler ist noch da.
Hast du die ";;\" im o.g. Code auch im Perl-Code so eingetragen ?

Normal sollten da m.W.n. immer nur 1 x ein ";" am Ende einer Codezeile und kein "\" vorhanden sein.
Dann sollte der Hinweis "Experimental aliasing via reference not enabled at (eval 15379) line 2." verschwinden.  ;)
Es gibt evtl. aber noch einen anderen Grund - aber versuche erst einmal diesen Weg. :o
#94
Sonstiges / Aw: HTTPMOD liest bei Clever-T...
Letzter Beitrag von Marko1976 - 01 Juni 2026, 19:15:57
Zitat von: RalfRog am 01 Juni 2026, 11:28:07Bist du sicher, dass nur immer mal wieder 0 in deinen Readings steht?
Ursprünglich hatte alles funktioniert, dann kam immer mal wieder ein 0-Wert zurück, letzte Woche war es dann so schlimm, dass 3 Tage am Stück nur 0 ausgegeben wurde.

Zitat von: RalfRog am 01 Juni 2026, 11:28:07Von den 16 definierten (HTTPMOD) Readings ist aus meiner Sicht kein Einziges im list - lediglich deine Userreadings
Keine Ahnung wie das kommt, das muss mit dem Fehler zu tun haben. Hier mal ein List eines zur Zeit funktionierenden Device bei dem die Readings eindeutig zu sehen sind (das einzige was anders ist ist die Tankstellennummer):

Internals:
  BUSY      0
  DEF        https://www.clever-tanken.de/tankstelle_details/26021 600
  FUUID      69d76460-f33f-7706-165d-443273b731930e6d
  FVERSION  98_HTTPMOD.pm:0.291590/2024-09-23
  Interval  600
  MainURL    https://www.clever-tanken.de/tankstelle_details/26021
  ModuleVersion 4.2.0 - 11.8.2023
  NAME      Tankstelle_AC_SB_UebacherWeg
  NOTIFYDEV  global
  NR        590
  NTFY_ORDER 50-Tankstelle_AC_SB_UebacherWeg
  STATE      Super E5: 1.89 €    *    Super E10: 1.83 €    *    Super Plus: 1.98 €    *    Diesel: 1.81 €
  TYPE      HTTPMOD
  eventCount 4936
  value     
  CompiledRegexes:
  HTTPCookieHash:
    csrftoken;:
      Name      csrftoken
      Options    expires=Mon, 31 May 2027 16:57:27 GMT; Max-Age=31449600; Path=/; SameSite=Lax
      Path     
      Value      moIMqYSDDODsoKQm1kbsDsiXQ9XsUopo
  HttpUtils:
    NAME     
    addr      https://www.clever-tanken.de:443
    auth      0
    code      200
    compress  1
    conn     
    data     
    displayurl https://www.clever-tanken.de/tankstelle_details/26021
    header    Cookie: csrftoken=moIMqYSDDODsoKQm1kbsDsiXQ9XsUopo
    host      www.clever-tanken.de
    httpheader HTTP/1.1 200 OK
Date: Mon, 01 Jun 2026 16:57:27 GMT
Server: Apache/2.4.52 (Ubuntu)
Vary: Cookie,Accept-Encoding
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8
Set-Cookie: csrftoken=moIMqYSDDODsoKQm1kbsDsiXQ9XsUopo; expires=Mon, 31 May 2027 16:57:27 GMT; Max-Age=31449600; Path=/; SameSite=Lax
X-Correlation-Uid: ah25951EIT5UmeGiBjmttQAAAGA
Connection: close
    httpversion 1.0
    hu_blocking 0
    hu_filecount 1
    hu_port    443
    hu_portSfx
    ignoreredirects 1
    loglevel  4
    path      /tankstelle_details/26021
    protocol  https
    redirects  0
    timeout    10
    url        https://www.clever-tanken.de/tankstelle_details/26021
    sslargs:
  QUEUE:
  READINGS:
    2026-06-01 18:37:26  Bioethanol_avg  0
    2026-06-01 18:37:26  Bioethanol_complete 0
    2026-06-01 18:37:26  Bioethanol_old  -
    2026-06-01 18:37:26  CNG_avg        0
    2026-06-01 18:37:26  CNG_complete    0
    2026-06-01 18:37:26  CNG_old        -
    2026-06-01 18:57:26  Diesel-1        1.80
    2026-06-01 18:57:26  Diesel-2        9
    2026-06-01 18:57:26  Diesel_avg      1.91
    2026-06-01 18:57:26  Diesel_complete 1.809
    2026-06-01 18:57:26  Diesel_old      1.80
    2026-06-01 18:37:26  LNG_avg        0
    2026-06-01 18:37:26  LNG_complete    0
    2026-06-01 18:37:26  LNG_old        -
    2026-06-01 18:57:26  LPG_avg        1.07
    2026-06-01 18:37:26  LPG_complete    0
    2026-06-01 18:37:26  LPG_old        -
    2026-06-01 18:57:26  Name            SB
    2026-06-01 18:57:26  Ort            Alsdorf
    2026-06-01 18:57:26  PLZ            52477
    2026-06-01 18:57:26  Strasse        Übacher Weg 174
    2026-06-01 18:57:26  SuperE10-1      1.82
    2026-06-01 18:57:26  SuperE10-2      9
    2026-06-01 18:57:26  SuperE10_avg    1.91
    2026-06-01 18:57:26  SuperE10_complete 1.829
    2026-06-01 18:57:26  SuperE10_old    1.82
    2026-06-01 18:57:26  SuperE5-1      1.88
    2026-06-01 18:57:26  SuperE5-2      9
    2026-06-01 18:37:26  SuperE5_avg    1.21
    2026-06-01 18:57:26  SuperE5_complete 1.889
    2026-06-01 18:57:26  SuperE5_old    1.88
    2026-06-01 18:57:26  SuperPlus-1    1.97
    2026-06-01 18:57:26  SuperPlus-2    9
    2026-06-01 18:37:26  SuperPlus_avg  1.06
    2026-06-01 18:57:26  SuperPlus_complete 1.979
    2026-06-01 18:57:26  SuperPlus_old  1.97
    2026-06-01 18:37:26  Wasserstoff_avg 0
    2026-06-01 18:37:26  Wasserstoff_complete 0
    2026-06-01 18:37:26  Wasserstoff_old -
    2026-06-01 18:57:26  last_update    01.06.2026 18:55
    2026-06-01 18:57:26  open_days-1    Samstag
    2026-06-01 18:57:26  open_days-2    Sonntag
    2026-06-01 18:57:26  open_days-3    Mo-Fr
    2026-06-01 18:57:26  open_hours-1    7:00-22:00
    2026-06-01 18:57:26  open_hours-2    7:00-22:00
    2026-06-01 18:57:26  open_hours-3    7:00-22:00
  REQUEST:
    context    reading
    data     
    header   
    ignoreredirects 0
    num        unknown
    retryCount 0
    type      update
    url        https://www.clever-tanken.de/tankstelle_details/26021
  defptr:
    readingBase:
      Diesel-1  reading
      Diesel-2  reading
      Name      reading
      Ort        reading
      PLZ        reading
      Strasse    reading
      SuperE10-1 reading
      SuperE10-2 reading
      SuperE5-1  reading
      SuperE5-2  reading
      SuperPlus-1 reading
      SuperPlus-2 reading
      last_update reading
      open_days-1 reading
      open_days-2 reading
      open_days-3 reading
      open_hours-1 reading
      open_hours-2 reading
      open_hours-3 reading
    readingNum:
      Diesel-1  08
      Diesel-2  08
      Name      01
      Ort        04
      PLZ        03
      Strasse    02
      SuperE10-1 09
      SuperE10-2 09
      SuperE5-1  10
      SuperE5-2  10
      SuperPlus-1 11
      SuperPlus-2 11
      last_update 07
      open_days-1 05
      open_days-2 05
      open_days-3 05
      open_hours-1 06
      open_hours-2 06
      open_hours-3 06
    readingOutdated:
    readingSubNum:
      Diesel-1  -1
      Diesel-2  -2
      SuperE10-1 -1
      SuperE10-2 -2
      SuperE5-1  -1
      SuperE5-2  -2
      SuperPlus-1 -1
      SuperPlus-2 -2
      open_days-1 -1
      open_days-2 -2
      open_days-3 -3
      open_hours-1 -1
      open_hours-2 -2
      open_hours-3 -3
    requestReadings:
      update:
        Diesel-1  reading 08-1
        Diesel-2  reading 08-2
        Name      reading 01
        Ort        reading 04
        PLZ        reading 03
        Strasse    reading 02
        SuperE10-1 reading 09-1
        SuperE10-2 reading 09-2
        SuperE5-1  reading 10-1
        SuperE5-2  reading 10-2
        SuperPlus-1 reading 11-1
        SuperPlus-2 reading 11-2
        last_update reading 07
        open_days-1 reading 05-1
        open_days-2 reading 05-2
        open_days-3 reading 05-3
        open_hours-1 reading 06-1
        open_hours-2 reading 06-2
        open_hours-3 reading 06-3
Attributes:
  alias      SB Tankstelle in Alsdorf (Übacher Weg)
  enableControlSet 1
  event-min-interval .*:1800
  event-on-change-reading .*
  group      Informationen
  icon      fuel
  model      clever_tanken_single_station
  reading01Name Name
  reading01Regex <span class="strong-title" itemprop="name">(.*)</span>
  reading02Name Strasse
  reading02Regex <span itemprop="streetAddress">(.*)</span>
  reading03Name PLZ
  reading03Regex <span itemprop="http://schema.org/postalCode">(.*)</span>
  reading04Name Ort
  reading04Regex <span itemprop="http://schema.org/addressCountry">(.*)</span>
  reading05Name open_days
  reading05RegOpt g
  reading05Regex <div class="d-flex justify-content-between weak-body">\s*<span>\s*(.*)<\/span>
  reading06Name open_hours
  reading06RegOpt g
  reading06Regex <div class="d-flex justify-content-between weak-body">\s*<span>\s*.*<\/span>\s*<span>\s*(.*)<\/span>
  reading07Name last_update
  reading07Regex <span>Letzte Aktualisierung: (.*)</span>
  reading08Expr { ($val < 1) ? ReadingsVal($name,"Diesel-1",0) : $val }
  reading08Name Diesel
  reading08Regex <div[^>]*class="price-type-name"[^>]*>Diesel<\/div>[\s\S]*?<span[^>]*id="current-price-\d+"[^>]*>([\d.]+)<\/span>[\s\S]*?<sup[^>]*id="suffix-price-\d+"[^>]*>(\d+)<\/sup>
  reading09Expr { ($val < 1) ? ReadingsVal($name,"SuperE10-1",0) : $val }
  reading09Name SuperE10
  reading09Regex <div[^>]*class="price-type-name"[^>]*>Super E10<\/div>[\s\S]*?<span[^>]*id="current-price-\d+"[^>]*>([\d.]+)<\/span>[\s\S]*?<sup[^>]*id="suffix-price-\d+"[^>]*>(\d+)<\/sup>
  reading10Expr { ($val < 1) ? ReadingsVal($name,"SuperE5-1",0) : $val }
  reading10Name SuperE5
  reading10Regex <div[^>]*class="price-type-name"[^>]*>Super E5<\/div>[\s\S]*?<span[^>]*id="current-price-\d+"[^>]*>([\d.]+)<\/span>[\s\S]*?<sup[^>]*id="suffix-price-\d+"[^>]*>(\d+)<\/sup>
  reading11Expr { ($val < 1) ? ReadingsVal($name,"SuperPlus-1",0) : $val }
  reading11Name SuperPlus
  reading11Regex <div[^>]*class="price-type-name"[^>]*>SuperPlus<\/div>[\s\S]*?<span[^>]*id="current-price-\d+"[^>]*>([\d.]+)<\/span>[\s\S]*?<sup[^>]*id="suffix-price-\d+"[^>]*>(\d+)<\/sup>
  reading12Expr { ($val < 1) ? ReadingsVal($name,"LPG-1",0) : $val }
  reading12Name LPG
  reading12Regex <div[^>]*class="price-type-name"[^>]*>LPG<\/div>[\s\S]*?<span[^>]*id="current-price-\d+"[^>]*>([\d.]+)<\/span>[\s\S]*?<sup[^>]*id="suffix-price-\d+"[^>]*>(\d+)<\/sup>
  reading13Expr { ($val < 1) ? ReadingsVal($name,"LNG-1",0) : $val }
  reading13Name LNG
  reading13Regex <div[^>]*class="price-type-name"[^>]*>LNG<\/div>[\s\S]*?<span[^>]*id="current-price-\d+"[^>]*>([\d.]+)<\/span>[\s\S]*?<sup[^>]*id="suffix-price-\d+"[^>]*>(\d+)<\/sup>
  reading14Expr { ($val < 1) ? ReadingsVal($name,"CNG-1",0) : $val }
  reading14Name CNG
  reading14Regex <div[^>]*class="price-type-name"[^>]*>CNG<\/div>[\s\S]*?<span[^>]*id="current-price-\d+"[^>]*>([\d.]+)<\/span>[\s\S]*?<sup[^>]*id="suffix-price-\d+"[^>]*>(\d+)<\/sup>
  reading15Expr { ($val < 1) ? ReadingsVal($name,"Bioethanol-1",0) : $val }
  reading15Name Bioethanol
  reading15Regex <div[^>]*class="price-type-name"[^>]*>Bioethanol<\/div>[\s\S]*?<span[^>]*id="current-price-\d+"[^>]*>([\d.]+)<\/span>[\s\S]*?<sup[^>]*id="suffix-price-\d+"[^>]*>(\d+)<\/sup>
  reading16Expr { ($val < 1) ? ReadingsVal($name,"Wasserstoff-1",0) : $val }
  reading16Name Wasserstoff
  reading16Regex <div[^>]*class="price-type-name"[^>]*>Wasserstoff<\/div>[\s\S]*?<span[^>]*id="current-price-\d+"[^>]*>([\d.]+)<\/span>[\s\S]*?<sup[^>]*id="suffix-price-\d+"[^>]*>(\d+)<\/sup>
  readingMaxAge 5
  readingMaxAgeReplacementMode delete
  readingOExpr $val =~ s/<[\d\D]+>//;;$val
  room      Information->Spritpreise
  stateFormat {
  sprintf("Super E5: %.2f €    *    Super E10: %.2f €    *    Super Plus: %.2f €    *    Diesel: %.2f €",
    ReadingsNum($name,"SuperE5-1",0) + 0.01,
    ReadingsNum($name,"SuperE10-1",0) + 0.01,
    ReadingsNum($name,"SuperPlus-1",0) + 0.01,
    ReadingsNum($name,"Diesel-1",0) + 0.01
  )
}
  timeout    10
  timestamp-on-change-reading .*
  userReadings Diesel_old { OldReadingsVal($name,"Diesel-1", ReadingsVal($name,"Diesel-1","-")) },
SuperE5_old { OldReadingsVal($name,"SuperE5-1", ReadingsVal($name,"SuperE5-1","-")) },
SuperE10_old { OldReadingsVal($name,"SuperE10-1", ReadingsVal($name,"SuperE10-1","-")) },
SuperPlus_old { OldReadingsVal($name,"SuperPlus-1", ReadingsVal($name,"SuperPlus-1","-")) },
LPG_old { OldReadingsVal($name,"LPG-1", ReadingsVal($name,"LPG-1","-")) },
LNG_old { OldReadingsVal($name,"LNG-1", ReadingsVal($name,"LNG-1","-")) },
CNG_old { OldReadingsVal($name,"CNG-1", ReadingsVal($name,"CNG-1","-")) },
Bioethanol_old { OldReadingsVal($name,"Bioethanol-1", ReadingsVal($name,"Bioethanol-1","-")) },
Wasserstoff_old { OldReadingsVal($name,"Wasserstoff-1", ReadingsVal($name,"Wasserstoff-1","-")) },

Diesel_complete { ReadingsNum($name,"Diesel-1", 0) + (ReadingsNum($name,"Diesel-2", 0) / 1000) },
SuperE5_complete { ReadingsNum($name,"SuperE5-1", 0) + (ReadingsNum($name,"SuperE5-2", 0) / 1000) },
SuperE10_complete { ReadingsNum($name,"SuperE10-1", 0) + (ReadingsNum($name,"SuperE10-2", 0) / 1000) },
SuperPlus_complete { ReadingsNum($name,"SuperPlus-1", 0) + (ReadingsNum($name,"SuperPlus-2", 0) / 1000) },
LPG_complete { ReadingsNum($name,"LPG-1", 0) + (ReadingsNum($name,"LPG-2", 0) / 1000) },
LNG_complete { ReadingsNum($name,"LNG-1", 0) + (ReadingsNum($name,"LNG-2", 0) / 1000) },
CNG_complete { ReadingsNum($name,"CNG-1", 0) + (ReadingsNum($name,"CNG-2", 0) / 1000) },
Bioethanol_complete { ReadingsNum($name,"Bioethanol-1", 0) + (ReadingsNum($name,"Bioethanol-2", 0) / 1000) },
Wasserstoff_complete { ReadingsNum($name,"Wasserstoff-1", 0) + (ReadingsNum($name,"Wasserstoff-2", 0) / 1000) },

Diesel_avg { ReadingsVal("Diesel","Durchschnitt","0") },
SuperE5_avg { ReadingsVal("SuperE5","Durchschnitt","0") },
SuperE10_avg { ReadingsVal("SuperE10","Durchschnitt","0") },
SuperPlus_avg { ReadingsVal("SuperPlus","Durchschnitt","0") },
LPG_avg { ReadingsVal("LPG","Durchschnitt","0") },
LNG_avg { ReadingsVal("LNG","Durchschnitt","0") },
CNG_avg { ReadingsVal("CNG","Durchschnitt","0") },
Bioethanol_avg { ReadingsVal("Bioethanol","Durchschnitt","0") },
Wasserstoff_avg { ReadingsVal("Wasserstoff","Durchschnitt","0") },

  verbose    0
Wie man erkennt sollte Diesel-1 der Hauptpreis und Diesel-2 das Suffix, also die 0,9 Cent sein. Das war bei allen Devices so vorhanden. Das die Readings jetzt nicht mehr da sind fällt mir jetzt erst auf.

Zitat von: Otto123 am 01 Juni 2026, 12:20:01es gibt da für HTTPMOD ein paar attrTemplate vielleicht kann man die als Grundlage nehmen und dann das Device anpassen
Die Devices haben ja alle funktioniert, daher möchte ich ungern jetzt irgendwelche Templates drüberbügeln.

Zitat von: Otto123 am 01 Juni 2026, 12:20:01Ich sehe zumindest kein Reading mit dem Namen "Diesel-1". Damit wird ReadingsVal($name,"Diesel-1",0) immer null ergeben, wobei dann auch wieder die Verwendung von ReadingsVal() fragwürdig ist - siehe ReadingsNum()
Siehe dazu meine Ausführungen weiter oben. Das mit Val und Num ist ein Fakt, hat aber mit Val eigentlich funktioniert und wie man anderem anderen List sieht tut es das ja auch jetzt noch. Wenn ich manuell ein Rerad anstoße funktioniert es manchmal für kurze Zeit und geht dann wieder auf 0. Hatte schon einen Block der Webseite in Verdacht, doch eine Änderung des Intervalls brachte keine Änderung.

Zitat von: Otto123 am 01 Juni 2026, 13:12:34Die regEx im Device des TE sehen (gegenüber der Vorlage, die bei mir gut funktioniert) ziemlich komplex aus, da würde es mich nicht wundern, wenn Fehler beim Auslesen bei Seitenlayoutänderungen passieren.
Die Regex stammt ursprüngich aus einem der Templates und wurde von mir angepasst, da ich differenzierte Werte haben wollte. Das Template liefert zb. den Suffix nicht einzeln. Für eine Durchschnittsberechnung darf diese meiner Meinung nach aber nicht im Preis enthalten sein. Die angepasste Regex habe ich bei der Entwicklung stetig mit Regex101.com geprüft wo sie auch funktioniert hat. Das andere oben angefügte List zeigt ja auch, dass es grundsätzlich tut was es soll. Warum bei diesen 0-Werten dann die Readings nicht richtig ausgelesen werden verstehe ich im Moment auch nicht. Aber ich glaube kaum, das Clever-Tanken einige Seiten einer Layoutänderung unterzogen hat und andere nicht.
#95
ESP Familie / Aw: BoseFix32 — lokaler SoundT...
Letzter Beitrag von tostmann - 01 Juni 2026, 17:36:04
SixBack v0.8.8 ist raus — drei Fixes, alle per OTA aus jeder 0.8.x-Version einspielbar.

Quellen-Selbstheilung (der wichtigste): Manche Speaker waren zwar ,,migriert", hatten aber nie eine Account-Bindung bekommen (leere margeAccountUUID). Dadurch waren am Speaker gar keine SixBack-Quellen registriert, und jeder Preset-Push scheiterte mit /select=500 — TuneIn / Spotify / Stream meldeten alle ,,unknown source". v0.8.8 erkennt das beim periodischen Status-Check und bindet den Speaker automatisch neu, die Quellen registrieren sich wieder — ohne dass man etwas tun muss. Zusätzlich gibt es in der WebUI einen ,,Re-Sync Sources"-Button und einen Warnhinweis, falls ein Speaker in diesem Zustand steckt.

Captive-Portal: Der WLAN-Einrichtungs-Hotspot lief in einen Redirect-Loop (ERR_TOO_MANY_REDIRECTS) — behoben, die Setup-Seite lädt wieder sauber.

Push-Zuverlässigkeit: Der Preset-Push wartet jetzt, bis der Sender am Speaker tatsächlich spielt, bevor er den Long-Press auslöst (statt fester 8 s). Auf langsameren Verbindungen ging vorher gelegentlich der Preset verloren.

Einspielen: in der WebUI unter Firmware update → Install (notfalls Force re-install), oder frisch flashen über sixback.io.
Release-Notes: github.com/tostmann/SixBack/releases/tag/v0.8.8
#96
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von dieter114 - 01 Juni 2026, 17:08:50
Ich benutze 2.6.11 aus dem offiziellen Update
Habe soeben nochmal ein Update gemacht - keine Änderung.
Der attr Forecast ctrlUserExitFn Fehler ist noch da.
Den anderen Fehler mit dem Boot werde ich nicht nochmal versuchen....
#97
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von 300P - 01 Juni 2026, 17:05:18
Welche SF-Version und von wann nutzt du aktuell denn ?


Ich sehe bei der aktuellen Version 2.6.10
# $Id: 76_SolarForecast.pm 31291 2026-05-25 18:17:23Z DS_Starter $
aus dem offiziellen Update keine Division in der Zeile 27948
27948          0.20 * min (2.0, $slope_penalty)   +                                      # echte Dynamikdrift


und in Zeile 28452 steht:
28452 #  - API-/Sensorfehler
(ein Bemerkung kann keine Fehler erzeugen)

und in Zeile 28455 steht:
28455    ################################################################
(auch hier kann kein Fehler entstehen)
   
Bei der letzten Version aus dem Contrib V2.7.0
# $Id: 76_SolarForecast.pm 31321 2026-05-31 07:37:51Z DS_Starter $
steht dort :

27948     delete @{$data{$name}{neuralnet}{$fanntyp}}{@drift_kpis};
Da ist keine Division sichtbar


und in Zeile 28452 steht:
28452 #    MAE, RMSE, RMSErel, MAPE, MdAPE, Median, AbsErrors-Liste, Fehler‑Bias


und in Zeile 28455 steht:
28455    ###########################################################################

Auch hier kann kein Fehler entstehen
   
#98
Zigbee / SONOFF SNZB-06P
Letzter Beitrag von satprofi - 01 Juni 2026, 16:52:57
Hallo.
Habe mir den Sensor auch besorgt, aber der meldet andauernd "presence" .
Anbindung über zigbee2mqtt, gerät wurde mit template "human_body_presence_detector" eingerichtet.
CFGFN     
   CID        zigbee_0x8c73dafffecf1824
   DEF        zigbee_0x8c73dafffecf1824
   FUUID      6a1d8b2d-f33f-3579-1c2b-a029f8a5904b86db
   IODev      myBroker
   LASTInputDev MQTT2_client
   MQTT2_client_MSGCNT 8
   MQTT2_client_TIME 2026-06-01 15:58:25
   MSGCNT     12
   NAME       MQTT2_zigbee_0x8c73dafffecf1824
   NR         1047
   STATE      Motion: presence
   TYPE       MQTT2_DEVICE
   eventCount 18
   myBroker_CONN myBroker_127.0.0.1_33744
   myBroker_MSGCNT 4
   myBroker_TIME 2026-06-01 15:48:37
   READINGS:
     2026-06-01 15:37:49   IODev           myBroker
     2026-06-01 15:46:28   associatedWith  MQTT2_zigbee_bridge
     2026-06-01 15:40:31   attrTemplateVersion 20230111
     2026-06-01 15:45:55   illumination    bright
     2026-06-01 15:43:15   linkquality     117
     2026-06-01 15:45:55   occupancy       true
     2026-06-01 15:58:25   set_approach_distance near
     2026-06-01 15:57:53   set_motion_sensitivity low
     2026-06-01 15:58:25   state           distance
     2026-06-01 15:45:55   update_installed_version 4102
     2026-06-01 15:38:58   update_latest_source https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/Sonoff/snzb-06p_v1.0.5.ota
     2026-06-01 15:45:55   update_latest_version 4102
     2026-06-01 15:45:55   update_state    idle
Attributes:
   alias      SNZB-06P_Sonoff
   devStateIcon Motion..true:people_sensor Motion..false:motion_detector
   devicetopic zigbee2mqtt/0x8c73dafffecf1824
   icon       people_sensor
   model      zigbee2mqtt_human_body_presence_detector
   readingList $DEVICETOPIC:.* { json2nameValue($EVENT,'',$JSONMAP) }
zigbee2mqtt/0x8c73dafffecf1824/set:.* { json2nameValue($EVENT, 'set_', $JSONMAP) }
   room       Zigbee
   setList    mode:undirected,left_right $DEVICETOPIC/set {"monitoring_mode":"$EVTPART1"}
  distance:far,medium,near $DEVICETOPIC/set {"approach_distance":"$EVTPART1"}
  sensitivity:low,medium,high $DEVICETOPIC/set {"motion_sensitivity":"$EVTPART1"}
   stateFormat Motion: presence
#99
Sonstiges / Aw: HTTPMOD liest bei Clever-T...
Letzter Beitrag von Otto123 - 01 Juni 2026, 13:12:34
aber eventuell bloß um einen ehemaligen ;) Versuch? Ich erkenne keinen Zusammenhang mit dem Inhalt des Templates
Get prices for a single gas station.
Define a HTTPMOD device like
defmod DEVICE HTTPMOD http://www.clever-tanken.de/tankstelle_details/29092 1800
Change station ID to your needs
Source: Forum
attr DEVICE userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex readingOExpr
attr DEVICE enableControlSet 1
attr DEVICE reading01Name Diesel
attr DEVICE reading01Regex
Diesel
[\S\s\r\n]*?(\d.\d{2}[\S\s\r\n]*?[\d]+)
attr DEVICE reading02Name SuperE10
attr DEVICE reading02Regex
Super E10
[\S\s\r\n]*?(\d.\d{2}[\S\s\r\n]*?[\d]+)
attr DEVICE reading03Name SuperE5
attr DEVICE reading03Regex
Super E5
[\S\s\r\n]*?(\d.\d{2}[\S\s\r\n]*?[\d]+)
attr DEVICE readingOExpr $val =~ s/<[\d\D]+>//;;$val
attr DEVICE stateFormat E5: SuperE5 € / E10: SuperE10 € / D: Diesel €
attr DEVICE timeout 10
attr DEVICE verbose 2
attr DEVICE room WHICHROOM
attr DEVICE model clever_tanken_single_station
setreading DEVICE attrTemplateVersion 20201129
Zumal ja eben genau die notwendigen Readings fehlen? Insofern nochmal auf Anfang? :)

Die regEx im Device des TE sehen (gegenüber der Vorlage, die bei mir gut funktioniert) ziemlich komplex aus, da würde es mich nicht wundern, wenn Fehler beim Auslesen bei Seitenlayoutänderungen passieren.
#100
Sonstiges / Aw: HTTPMOD liest bei Clever-T...
Letzter Beitrag von betateilchen - 01 Juni 2026, 12:33:47
Zitat von: Otto123 am 01 Juni 2026, 12:20:01es gibt da für HTTPMOD ein paar attrTemplate vielleicht kann man die als Grundlage nehmen und dann das Device anpassen.

ja, aber guckst Du:

Attributes:
   alias      ARAL in Karken (Roermonder Str.)
...
   model      clever_tanken_single_station
 

Das sieht schon sehr danach aus, dass es sich um einen Versuch mit einem template handelt 8)