Hallo,
ich überlege mir eine Leistungsanzeige für meine PV Anlage mittels eines LED Stripe angesteuert mit WLED.
Also eine Anzeige von 0- 100% jeweils 3 LEDS je 10% ansteigend
WLED hab ich schon an FHEM hängen und spiele noch ein wenig damit herum.
Hat schon jemand von euch so etwas realisiert?
Ja, ist ne Spielerei... aber macht Spass.
Danke für eure Inputs
Gruss Gerd
Ich hatte mal einen WLED-Ring (mittlerweile hat er einen anderen Einsatzzweck) als "Puls" des Hauses gebastelt, der den aktuellen Strombedarf visualisiert hat von grün bis rot,WLED Effekt "breathe" mit ansteigender Geschwindigkeit - hat kurzzeitig für einen großen "AHA" Effekt gesorgt, wenn man visualisiert bekommt was (z.B.) die Spülmaschine saugt...
Ich hab das so gelöst. Zeigt den prozentuellen Anteil vom Gesamtverbrauch an.
Möchte den hinterlegten LED-Streifen aber noch von 60LED/m auf eine 144 Leds/m tauschen.
Angesteuert aber nicht mit WLED, sondern mit einem ESP32, der auch das Display bedient und seine Daten per MQTT von FHEM bekommt.
Zitat von: KernSani am 16 Februar 2023, 21:44:38
Ich hatte mal einen WLED-Ring (mittlerweile hat er einen anderen Einsatzzweck) als "Puls" des Hauses gebastelt, der den aktuellen Strombedarf visualisiert hat von grün bis rot,WLED Effekt "breathe" mit ansteigender Geschwindigkeit - hat kurzzeitig für einen großen "AHA" Effekt gesorgt, wenn man visualisiert bekommt was (z.B.) die Spülmaschine saugt...
Würdest Du den Code teilen? Ich würde da auch gerne machen.
Zitat von: BenMarloe am 19 Februar 2023, 11:44:40
Würdest Du den Code teilen? Ich würde da auch gerne machen.
Aber klar... Eines vorneweg: Ich habe die WLEDs über MQTT und dem entsprechenden Template eingebunden und das Coding aus diesem Post (https://forum.fhem.de/index.php/topic,98880.msg1191463.html#msg1191463) (das irgendwie nicht mehr da ist) verwendet um die Effekte elegant ansprechen zu können.
Dann ist es ein ziemlich simples DOIF, das auf Änderungen des Stromzählers triggert, Wertebereich ist von 300-3000 Watt. <meinStromzähler> und <power> musst du natürlich mit deinem Device/Reading ersetzen.
defmod ev_power_light DOIF ([<meinStromzähler>])\
(\
{\
my $pc = ReadingsNum("<meinStromzähler>","<power>",0);;\
if ($pc > 3000) {$pc = 3000};;\
if ($pc < 300) {$pc = 300};;\
my $pct = ($pc-300)/2700;;\
my $speed = int($pct*255+0.5);;\
my $hex = substr(Color::pahColor(300,700,3000,int($pc),[0,255,0,127,255,0,255,255,0,255,127,0,255,0,0],0),0,6);;\
fhem("set wled1 rgb $hex");;\
fhem("set wled1 effectname Breathe");;\
fhem("set wled1 speed $speed");;\
}\
\
)
attr ev_power_light do always
Sollte eigentlich so funktionieren, kann aber keine Garantie dafür übernehmen ;-)
Danke. Könntest Du das Coding bitte auch noch posten?
Moin, hat wer evtl noch ne Schritt für Schritt Anleitung?
DOIF angepasst macht aber nix.
Wled lässt sich per Fhem steuern
Ich glaub ich habe da Irgendwo nen Denkfehler, könnte mir jemand auf die Sprünge helfen?
WLED = MQTT2_WLED_1
Zähler = Stromzaehler
Aktueller Verbrauch = power
99_attrT_WLED_Utils.pm ist Installiert
Ich kann die WLED auch wie ich mag per Fhem steuern aber mit dem DOIF passiert nichts.
Wenn er ja wenigstens was machen würde wüsste ich ja wo ich ansetzen muss aber so... ?
Danke
Zitat von: C@MP3R am 13 März 2023, 21:58:56Ich glaub ich habe da Irgendwo nen Denkfehler, könnte mir jemand auf die Sprünge helfen?
< snip >
Ich kann die WLED auch wie ich mag per Fhem steuern aber mit dem DOIF passiert nichts.
Wenn er ja wenigstens was machen würde wüsste ich ja wo ich ansetzen muss aber so... ?
Du solltest mal Deine angepasste Definition des DOIF hier rein stellen, oder geht es jetzt schon?
VG Christian
Guten Morgen, ich bräuchte noch mal Input von den Perl Experten hier.
Mein aktueller Code ist wie folgt, das funktioniert auch wie gewünscht.
#########################
sub pv_leistung{
my $power = ReadingsVal("SH10rt_1_LAN","01_Total_DC_Power",10000);
if ($power <= 0){
fhem("set pv off");
}
else{
my $str;
$str = '{"on":true,"bri":255,"seg":[';
my $led_hi = int( 60 / 10000 * $power );
my $brightness;
foreach my $seg (0..1){
$str .= '{"id":'.$seg.',"i":[';
foreach my $led (0..60){
if ( $led > $led_hi ){
# dunkler, leds ausserhalb der Tagestemperatur
$brightness=0;
}
else{
# heller
$brightness=125;
}
#
if ($led < 5){
$str .= $led.",[$brightness,0,0]";
}
elsif ($led < 10){
$str .= $led.",[$brightness,$brightness,0]";
}
elsif ($led < 60){
$str .= $led.",[0,$brightness,0]";
}
else{
$str .= $led.",[0,$brightness,0]";
}
if ($led < 60){
$str .= ',';
}
}
$str .= ']}';
if ($seg < 1){
$str .= ',';
}
}
$str .= ']}';
fhem("set pv leistung ".$str.";set pv leistung ".$str);
}
}
1;
Nun hatte ich die Idee, wäre doch schön wenn der aktuelle Hausverbrauch auch entsprechend
visualisiert dargestellt wird, die Daten habe ich ja vom Wechselrichter das ist nicht das Problem.
Meine Idee war das aber nur eine LED jeweils Blau leuchten soll.
Geht das überhaupt?
Ich hatte gestern mal kurz was getestet das ging nicht, habe es dann wieder gelöscht... :)
Mal im Anhang noch eine Bastel Inspiration falls wer sowas bauen mag.
Hi, ich habe zwei Matrixdisplays nebeneinander an einem ESP8266, der via MQTT von FHEM gefüttert wird.
Die Anzeige wechselt alle 3 Sekunden durch die verschieden Werte PV, Wetter, Heizung/Warmwasser, Benzinpreise. Auf der linken Seite wird jedoch grundsätzlich der PV-Ertrag als Balken dargestellt. Hier auf dem Foto gerade auf Maximum, daneben der aktuell saldierte Wert, der Gesamtertrag sowie der Strombezug an diesem Tag.
Eigentlich hatte ich nicht vor, es länger so in dem Look und Stil zu nutzen. Aber inzwischen haben sich alle dran gewöhnt.