Hauptmenü

Neueste Beiträge

#11
SVG / Plots / logProxy / SVG Plot nach Umstellung von F...
Letzter Beitrag von e_brandt - 19 April 2026, 15:31:09
Hallo, ich habe von Filelog auf Maria DB umgestellt. Soweit funktioniert das dank KI auch alles. Nur bei meinen Firmata Ausgängen. Es kommt bei schow processed inputs on und off an. dies muss ja dann auf 0 und eins gewandelt werden. Genau das bekomme ich nicht hin, die KI ist leider auch keine Hilfe. Hat jemand ne Idee was ich machen muss?2026-04-19_14:29:03 off
2026-04-19_14:29:11 on
2026-04-19_14:36:28 on
2026-04-19_14:38:08 off
2026-04-19_14:38:13 on
2026-04-19_14:54:36 off
2026-04-19_14:54:42 on
2026-04-19_15:01:28 off
2026-04-19_15:01:30 on
#Firmata_OUT_A22:value:::$fld[1]=~"on"?1:0

das kommt im Plot an.
#12
Wettermodule / Änderungen in openweather
Letzter Beitrag von sd - 19 April 2026, 14:37:22
Hallo,
ich habe bisher OPENWEATHER im Einsatz und habe diesbezügich folgende Mail bekommen:
ZitatSehr geehrter wetter.com User

see for English below

Sie greifen derzeit auf unsere Legacy-API unter api.wetter.com zu. Wir möchten Sie darüber informieren, dass wir dieses Produkt am Montag, den 6. Juli 2026, einstellen werden. Nach diesem Datum wird diese Legacy-API nicht mehr verfügbar sein und alle darauf basierenden Integrationen könnten nicht mehr funktionieren.

 👉Bitte migrieren Sie zur Public Weather API (PWA)

Unser Public Weather API (PWA) ist deutlich leistungsfähiger und bietet zahlreiche neue Funktionen und Verbesserungen, wie zum Beispiel:

    Verbesserte Wettervorhersagen, einschließlich 5min Nowcasting
    Europaweite Warnungen mit erweiterten Warninformationen
    Weitere Wetterparameter wie Pollen, UV oder Gewitterstunden
    Versionierung für Upgrades
    und vieles mehr

METEONOMIQS, das B2B-Team von wetter.com, hat in den letzten Jahren intensiv daran gearbeitet, dies zur bisher besten Version der B2B-API zu machen – und bereits viele zufriedene Kunden nutzen das Produkt.

Wenn Sie auf die PWA umsteigen möchten, können Sie sich auf der Website http://meteonomiqs.com/weather-api/ für einen kostenlosen API-Schlüssel registrieren. Die Dokumentation ist ebenfalls hier verfügbar: http://doc.meteonomiqs.com/ .

Wenn Sie an höheren Abfragevolumen und zusätzlichen Datenfunktionen interessiert sind, kontaktieren Sie uns unter info@meteonomiqs.com

Wir möchten uns an dieser Stelle herzlich für Ihre Treue bedanken und hoffen, dass Sie viel Freude mit der PWA haben werden!

Mit freundlichen Grüßen

Ihr wetter.com METEONOMIQS Team

Ist das bekannt? Gibt es dazu schon ein Modul (habe ich da etwas übersehen)? Wer kann mir helfen?
#13
Sonstige Systeme / Aw: Entwicklungs-Thread Modul ...
Letzter Beitrag von roadrunnner - 19 April 2026, 13:55:48
Ich hatte den Shelly bereits mit dem Attribut "shellypro3em" versehen, leider liefert das Modul trotzdem einen Fehler: "404: No handler for EM1.GetStatus". Nach meinem Kenntnisstand werden bei der Ersteinrichtung per Script MQTT-Serverdaten hinterlegt. Was darüber hinaus noch anders ist kann ich derzeit noch nicht beurteilen. Der Vorteil der Ecoflow-Variante ist, dass er lokal kommuniziert, während sich die normalen Shellys nur per Cloud anbinden lassen.

Gruss roadrunnner
#14
Sonstige Systeme / Davis WeatherLink Live 6100 (L...
Letzter Beitrag von Burny4600 - 19 April 2026, 13:45:54
Ich suche ein funktionsfähiges Modul für die Verknüpfung von Davis WeatherLink Live 6100 (LAN/WLAN) mit FHEM.
Ich habe zwar ein Modul 88_VantagePro2.pm gefunden, nur ist in diesem Modul ein Fehler da FHEM dieses Modul nicht erkennt.
Vielleicht gibt es auch eine andere funktionsfähige Lösung.
#15
DOIF / Aw: Energy-Card
Letzter Beitrag von Damian - 19 April 2026, 13:39:57
Hier mal eine kompakte mobile Version. Die Bedeutung der Readings kann man im ersten Post nachschauen.

defmod di_energy_card_min DOIF {}
attr di_energy_card_min uiTable {\
$ATTRIBUTESFIRST = 1;;\
\
## Energy_card kann über das Attribut zoom skalliert werden\
\
$TABLE = 'zoom: 1;; width: 212px;; height: 195px;; text-align: left;; vertical-align: top;; border-radius:0%;;  position:relative;; background: linear-gradient(to bottom, rgb(40,40,40), rgb(60, 60, 60));; ';;\
\
package ui_Table;;\
\
sub move {\
my ($left, $top, $content) = @_;;\
my $value;;\
if (ref($content) eq "ARRAY") {\
  $value = $content->[0];;\
} else {\
  $value =$content;;\
}\
\
my $out = '<div style="position:absolute;; left:'\
  . $left . 'px;; top:'\
  . $top . 'px;;">'\
  . $value .\
  '</div>';;\
  \
if (ref($content) eq "ARRAY") {\
  return ([$out,$content->[1]]);;\
} else {\
  return ($out);;\
}\
}## end of move\
\
sub flow {\
\
my ($d,$item,$power,$max,$direction)=@_;;\
my $dur;;\
if ($power == 0) {\
  $dur=0;;\
} else {\
  $power=$max if ($power>$max);;\
  $dur=int((6-abs(5*$power/$max))*10)/10;;\
}\
\
\
my ($from, $to, $x1, $x2, $y1, $y2);;\
\
if ($direction==0) {        # ↖ unten rechts -> oben links\
  ($from, $to, $x1, $x2, $y1, $y2)=("1 1","-1 -1",101,-1,100,0);;\
} elsif ($direction==1) {   # ↘ oben links -> unten rechts\
  ($from, $to, $x1, $x2, $y1, $y2)=("-1 -1","1 1",-1,101,0,100);;\
} elsif ($direction==2) {   # ↗ unten links -> oben rechts\
  ($from, $to, $x1, $x2, $y1, $y2)=("-1 1","1 -1",-1,101,100,0);;\
} elsif ($direction==3) {   # ↙ oben rechts -> unten links\
  ($from, $to, $x1, $x2, $y1, $y2)=("1 -1","-1 1",101,-1,0,100);;\
}\
\
my $out='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 35" width="40" height="35" style="width:40px;; height:35px;;">';;\
\
$out .= '<defs>\
<linearGradient id="flowGradient_'.$item.'" \
    x1="'.$x1.'%" y1="'.$y1.'%" \
    x2="'.$x2.'%" y2="'.$y2.'%" \
    >\
    <stop offset="0%" stop-color="white" stop-opacity="0.2"/>\
    <stop offset="80%" stop-color="white" stop-opacity="1"/>\
    <stop offset="100%" stop-color="white" stop-opacity="0.2"/>\
    <animateTransform \
        id="flowAnim_'.$item.'" \
        attributeName="gradientTransform" \
        type="translate" \
        from="'.$from.'" \
        to="'.$to.'" \
        dur="'.$dur.'s" \
        repeatCount="indefinite" \
        calcMode="linear"/>\
</linearGradient>\
</defs>\
<path d="'.$d.'" fill="none" stroke="url(#flowGradient_'.$item.')" stroke-width="5" />';;\
\
##$out .= '<defs> <linearGradient id="flowGradient_'.$item.'" x1="'.$x1.'%" y1="0%" x2="'.$x2.'%" y2="0%"> <stop offset="0%" stop-color="gray" stop-opacity="0.2"/> <stop offset="100%" stop-color="white" stop-opacity="1"/> <stop offset="0%" stop-color="gray" stop-opacity="0.2"/></defs><path d="'.$d.'" fill="none" stroke="gray" stroke-opacity="0.2" stroke-width="3"/><path d="'.$d.'" fill="none" stroke="url(#flowGradient_'.$item.')" stroke-width="2" stroke-dasharray="3 9"><animate id="flowAnim_'.$item.'" attributeName="stroke-dashoffset" from="'.$from.'" to="'.$to.'" dur="'.$dur.'s" repeatCount="indefinite"/></path>';;\
\
return ([$out,'var e=document.getElementById("flowAnim_'.$item.'");;if (e) {e.setAttribute("dur","'.$dur.'s");;e.setAttribute("from","'.$from.'");;e.setAttribute("to","'.$to.'");;};; var e=document.getElementById("flowGradient_'.$item.'");;if (e) {e.setAttribute("x1","'.$x1.'%");;e.setAttribute("x2","'.$x2.'%");;}'])\
}  ## end of flow\
\
sub grid_power {\
my ($power,$max)=@_;;\
return (move(30,64,flow("M 5 0 A 30 30 0 0 0 35 30","grid",$power,$max,($power  > 0 ? 0 : 1))));;\
} \
\
sub solar_power {\
my ($power,$max)=@_;;\
  return move(138,64,flow("M 35 0 A 30 30 0 0 1 5 30 L 5 30","solar",$power,$max,3));;\
} \
\
sub home_power {\
my ($power,$max)=@_;;  \
return move(30,94,flow("M 5 35 A 30 30 0 0 1 35 5","home",$power,$max,3));;\
}\
\
sub battery_power {\
my ($power,$max)=@_;;\
return move(138,94,flow("M 35 35 A 30 30 0 0 0 5 5 ","battery",$power,$max,($power < 0 ? 0:1)));;\
}\
\
sub grid {\
my ($power,$feed,$consum)=@_;;\
move(2,2,icon_ring2("scene_power_grid\@silver",$power,-5,5,0,90,"kW",110,undef,"2",$feed-$consum,-20,20,0,90,"kWh",undef,"1",undef,"nogradient,,innerring,nopointer,negzeropos"));;\
}\
\
sub self {\
my ($autark,$EVG)=@_;;\
move(64,60,ring2($autark,0,100,undef,undef,"Autarkie",130,[(33.3,40,66.6,65,100,85)],"0,,fill:silver, %",$EVG,0,100,190,170,"EVQ",undef,"0,,fill:silver, %",undef,undef,"nogradient,,innerring,nopointer")) # [(33.3,40,66.6,65,100,85)]\
}\
\
sub solar {\
my ($power,$energy)=@_;;\
move(140,2,icon_ring2("solar_icon\@silver",$power,0,3.6,30,90,"kW",110,undef,"2",$energy,0,30,30,90,"kWh",undef,"1",undef,"nogradient,,innerring,nopointer"));;\
}\
\
sub home {\
my ($power,$consum)=@_;;\
move(2,130,icon_ring2("fa_home\@silver",$power,0,3,60,10,"kW",110,undef,"2",$consum,0,10,60,10,"kWh",undef,"1",undef,"nogradient,,innerring,nopointer"));;\
}\
\
sub battery {\
my ($power,$cap)=@_;;\
move(140,130,icon_ring2("battery_100\@silver",$power/1000,-1,1,220,170,"kW",110,undef,"2",$cap,0,100,0,90,"%",undef,"0",undef,"nogradient,,noinnerring,nopointer,zeronegpos"));;\
}\
\
} ## end of perl area\
\
## Tabellendefinition\
## Hier eigene Readings anpassen\
\
grid([MQTT2_DVES_C58DCB:power_fc],[di_counter_new:MQTT2_DVES_C58DCB.total_f.day],[di_counter_new:MQTT2_DVES_C58DCB.total_c_positiv.day]).\
solar([MQTT2_DVES_C58DCB:power_pv],[di_counter_new:MQTT2_DVES_C58DCB.total_pv.day]).\
home ([MQTT2_DVES_C58DCB:power_home_c],[di_counter_new:MQTT2_DVES_C58DCB.total_home_c.day]).\
battery([ecoflowStreamACpro:quota_powGetBpCms],[ecoflowStreamACpro:quota_soc]).\
self(([di_counter_new:MQTT2_DVES_C58DCB.total_pv.day]-[di_counter_new:MQTT2_DVES_C58DCB.total_f.day])/[di_counter_new:MQTT2_DVES_C58DCB.total_consum.day]*100,(1-[di_counter_new:MQTT2_DVES_C58DCB.total_f.day]/[di_counter_new:MQTT2_DVES_C58DCB.total_pv.day])*100).\
grid_power([MQTT2_DVES_C58DCB:power_fc],3.6).\
solar_power([MQTT2_DVES_C58DCB:power_pv],3.6).\
battery_power([ecoflowStreamACpro:quota_powGetBpCms],1050).\
home_power([MQTT2_DVES_C58DCB:power_home_c],3.6)
Du darfst diesen Dateianhang nicht ansehen.
#16
Sonstiges / Aw: Neue Versionen und Support...
Letzter Beitrag von Shadow3561 - 19 April 2026, 12:44:10
Moin,
nach dem ich nun endlich meine Wallbox via Modus auslesen kann habe ich noch eine Frage zum mapping.
In der Herstellerdoku steht
ZitatEVSE fault code register value is the decimal equivalent of binary fault codes. Each bit defines 1 fault.
For example, binary equivalent of register value 16 is 10000. This means 4th bit is set and the fault is PP
error.

Bit Fault
0 Contactor Welded Error
1 Contactor Response Error
2 Interlock Lock Error
3 Interlock Unlock Error
4 PP Error
5 CP Diode Error
6 CP Short Error
7 Overvoltage Phase1
8 Overvoltage Phase2
usw

Name
EVSE Fault Code*
Register
1006
länge
2
read/write
R
datentypp
unit32
Beschreibung
0: No fault
Other: Fault code

Wie muss das richtige mapping aussehen?

Gruss,
Daniel
#17
1Wire / Aw: Using OWServer with comple...
Letzter Beitrag von Dr. Boris Neubert - 19 April 2026, 12:11:58
Utilise le lien "Copy for forum" pour copier les informations relevantes et copie-les dans une nouvelle réponse ici., s.t.p.
#18
MQTT / Aw: MQTT2 für Worx Landroid Mä...
Letzter Beitrag von Allgaeuer - 19 April 2026, 11:45:23
Hallo Frober,

Danke auch von meiner Seite. Hat problemlos geklappt.

Gruß Allgäuer
#19
Off-Topic / Shelly Group an der Frankfurte...
Letzter Beitrag von Prof. Dr. Peter Henning - 19 April 2026, 10:59:37
Nicht mehr ganz neu - aber nachdem die Aktie des Herstellers der allseits beliebten Shelly-Devices lange Zeit nur in Sofia gelistet war, ist sie seit Mitte 2025 auch an der FSE in Frankfurt präsent.

ISIN: BG1100003166 WKN:A2DGX9

Im April 2026 ist die Traditionsaktie der Gerresheimer AG (Medizintechnik) aus dem SDax geflogen, und wurde durch die Shelly-Aktie ersetzt.

Ist damit in meinen Augen eine ganz interessante Investition.

LG

pah
#20
Automatisierung / Aw: Verständnisproblem FileLog...
Letzter Beitrag von Nobbynews - 19 April 2026, 10:29:02
Ich möchte das Thema wieder hochholen.
Vielleicht kann jemand das beschriebene Verhalten bestätigen oder @rudolfkönig wird darauf aufmerksam.

Norbert