Hauptmenü

Neueste Beiträge

#91
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 25 Januar 2026, 13:34:37
ZitatDer Hausspeicher soll so geladen werden, dass man mit diesem unter Zugrundelegung eines durchschnittlichen Grundverbrauchs (ohne Netzbezug) durch die Nacht kommt. Vorgenannter Grundverbrauch lässt sich durch einen ,,must"-Consumer modellieren.
Das war das fehlende Puzzleteil. Insgesamt ist das schon ein "very advanced" Scenario was du umsetzen möchtest.
Ich werde mal schauen, ob ich einen geeigneten Code implementieren kann, der bei consForecastLastDays=0 sämtliche historischen Daten ignoriert und nur die Power-Anteile der geplanten Verbraucher berücksichtigt.   
#92
Sonstige Systeme / Aw: fhempy: tuya (lokal)
Letzter Beitrag von Gisbert - 25 Januar 2026, 13:28:58
Zitat von: Prof. Dr. Peter Henning am 25 Januar 2026, 11:21:29Soweit bin ich ja schon, hast Du das auch schon gemacht?
Die Frage ist jetzt "nur", wie man das fhempy-Device dazu bringen kann, diese data points auch anzuzeigen und anzuwenden.
Edit: Das geht, indem man den fhempyserver in einen restart zwingt. Das Device zeigt jetzt die neuen Readings und set-Befehle. Mal sehen, ob das klappt.

Hallo pah,

sehr interessant.
Ich hab noch keine Veränderungen vorgenommen, aber bin durch deine Erkenntnisse motiviert das anzugehen. Mal schauen, wie weit ich ohne Hilfe komme.

Viele Grüße Gisbert
#93
InterTechno / Aw: a-CUL empfängt Signal von ...
Letzter Beitrag von nicor2k - 25 Januar 2026, 13:26:52
Ich habe mir so geholfen und setze den Sender manuell wieder auf "off", vielleicht hilft das jemandem weiter?


define PIR_Reset notify IT_01111010100110101110010101101001:on {\
  fhem("set Lampe on-for-timer 15");;\
  fhem("defmod PIR_OffTimer at +00:00:10 set IT_01111010100110101110010101101001 off");;\
}
 
#94
Codeschnipsel / Aw: DB Log Daten aggregieren (...
Letzter Beitrag von birdy - 25 Januar 2026, 12:34:56
Hallo Sascha

Ja das könnte funktionieren. Ich habe für mich aber ein andres Vorgehen gewählt.

Mein Landis&Gyr liefert alle 5 Sekunden neue Werte. Die Werte die mich interessieren sind sehr selten mehr als 2x hintereinander identisch, und das kommt schon nicht allzu häufig vor. Ich möchte auch verschiedene Werte für unterschiedliche Zwecke unterschiedlich lange aufbewahren.
Mit meiner Lösung bin ich deutlicher flexibler. Es erfüllt meine Vorstellungen. Ich kann frei definieren wann ich wie stark aggregieren möchte. Ich kann junge Daten in grosser Auflösung aufbewahren, und für ältere Daten kann ich jederzeit die Auflösung nach belieben reduzieren. Und ganz nebenbei, die Umsetzung hat sogar noch etwas Spass gemacht.
#95
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von Parallix - 25 Januar 2026, 12:34:25
Zitat von: DS_Starter am 25 Januar 2026, 10:50:01...
Zitat@Heiko: Der meiner Frage zugrunde liegende Anwendungsfall ist für Dich nachvollziehbar, richtig?
Eigentlich nicht  :)
Kein Thema! Dann erläutere ich ihn eben.

Anmerkung: Der (ohne KI besser anzuwickelnde) Anwendungsfall entsteht durch ein hochgradig volatiles Nutzungsverhalten, dass sich nicht auf Basis früherer Nutzungen prognostizieren lässt.

Hier die Beschreibung des  Anwendungsfalls:

Der Hausspeicher soll so geladen werden, dass man mit diesem unter Zugrundelegung eines durchschnittlichen Grundverbrauchs (ohne Netzbezug) durch die Nacht kommt. Vorgenannter Grundverbrauch lässt sich durch einen ,,must"-Consumer modellieren.

Wenn ein EV an der Wallbox angesteckt ist (ermittelbar via Reading), soll dieses immer dann so geladen werden, dass hierdurch das o.g. Ziel auch weiterhin erreicht werden kann. Hierzu wird der Ladevorgang auf mehrere Tage mit jeweils durchgehenden Teilladungen aufgeteilt. Während vorgenannter Teilladungen können die Ladeleistungen variieren, minimal jedoch nicht unter P_CHG_MIN und nicht über P_CHG_MAX liegen. Es existiert keine Möglichkeit den Ladezustand des EVs via FHEM zu ermitteln. Lediglich die vollständige Aufladung bis zum am EV einstellbaren TargetSOC_EV kann (via Reading) festgestellt werden.

Der Start und das Ende des EV-Ladevorgangs soll so erfolgen, dass die tägliche Energiemenge möglicher  Umladungen ( BESS → BEV)  stets unter einem max. Wert E_BTV_MAX ĺiegt. Hierdurch können die Umladeverluste minimiert werden. Um sicherzustellen, dass das Fahrzeug nach einer via Reading angegebenen Zeit Time2TargetSOC_EV auf den TargetSOC_EV gebracht ist, wird  E_BTV_MAX bis zum Zieltag sukzessive bis zu einem Limit E_BTV_MAX_LIMIT erhöht. Die jeweilige Einstellung von E_BTV_MAX lässt sich durch einen über ,,must"-Consumer mit täglich variierdender Leistung und Ladedauer modellieren. Kann der TargetSOC_EV zum Zielzeitpunkt nicht erreicht werden, so erfolgt eine rechtzeitig eingeleitete Netzladung.
#96
FHEM Code changes / Revision 30780: ch.eick: Berei...
Letzter Beitrag von System - 25 Januar 2026, 12:20:32
Revision 30780: ch.eick: Bereinigung im userReadings und weiterentwickelt

ch.eick: Bereinigung im userReadings und weiterentwickelt

Source: Revision 30780: ch.eick: Bereinigung im userReadings und weiterentwickelt
#97
Verbrauchsmessung / Aw: HTTPMOD: Aktueller Strompr...
Letzter Beitrag von ch.eick - 25 Januar 2026, 12:11:33
Moin zusammen,
es gibt schon wieder ein Update, diesmal mit vielen Code Bereinigungen und wieder Neuerungen, also Vorsicht, es ist immer noch eine Arbeitsversion.
VG   Christian
#98
Anfängerfragen / Aw: Wie bekomme ich userreadin...
Letzter Beitrag von matze1999 - 25 Januar 2026, 11:59:55
Hier Auszüge aus dem Device:

define DVES_201194 MQTT2_DEVICE DVES_201194
...
attr DVES_201194 event-on-change-reading MISCALEV126f889_Weight, MGewicht, JGewicht
...
attr DVES_201194 userReadings MGewicht {   my $r = ReadingsVal("DVES_201194","MISCALEV126f889_Weight",undef);;   return undef if !defined($r) || $r < 80;;   return $r;; },\
JGewicht {   my $r = ReadingsVal("DVES_201194","MISCALEV126f889_Weight",undef);;   return undef if !defined($r) || $r >= 60;;   return $r;; }\

attr DVES_201194 verbose 2
#   CID        DVES_201194
#   DEF        DVES_201194
#   FUUID      689224a6-f33f-214e-778f-7a6b427cade68ea8
#   IODev      myBroker
#   LASTInputDev myBroker
#   MSGCNT     4
#   NAME       DVES_201194
#   NR         992
#   STATE      93.90 kg
#   TYPE       MQTT2_DEVICE
#   myBroker_CONN myBroker_192.168.1.85_57885
#   myBroker_MSGCNT 4
#   myBroker_TIME 2026-01-25 11:42:39

#   READINGS:

#     2026-01-25 00:58:13   JGewicht        29.55
...
#     2026-01-25 11:42:39   MGewicht        93.90
..-
#     2026-01-25 01:02:36   MISCALEV126f889_Weight 93.90

setstate DVES_201194 93.90 kg

setstate DVES_201194 2026-01-25 00:58:13 JGewicht 29.55
..
setstate DVES_201194 2026-01-25 11:42:39 MGewicht 93.90
...
setstate DVES_201194 2026-01-25 01:02:36 MISCALEV126f889_Weight 93.90



hier das Fillog dazu


defmod Waage.File FileLog ./log/Waage-%Y.log DVES_201194:MISCALEV126f889_Weight:.*|DVES_201194:MGewicht:.*|DVES_201194:JGewicht:.*

#99
Anfängerfragen / Aw: Wie bekomme ich userreadin...
Letzter Beitrag von Beta-User - 25 Januar 2026, 11:49:00
Wie immer: ein Copy for Forum wäre aufschlussreich...
Zitat von: Beta-User am 21 Januar 2026, 18:36:29Vielleicht der Versuch einer noch etwas anderen Beschreibung:
Wenn gesetzt, unterdrückt "event-on-change-reading" (aka eocr) alle Events (genauer: den trigger für die Erneuerung des Reading-Werts), es sei denn, der Reading-Name würde auf ein Element einer - durch komma-separierte regex-Ausdrücke beschriebenen - Liste matchen.
Das zuerst passende Element der "in order of apperance" durchlaufenden Liste beschreibt abschließend, auf welche Unterschiedlichkeit der Reading-Wert zu prüfen ist (insbesondere, falls ein threshold gesetzt ist).

Daher triggert nichts anderes mehr, wenn man genau einen Reading-Namen gesetzt hatte (völlig unabhängig davon, ob es den überhaupt gibt).
#100
Anfängerfragen / [gelöst] Wie bekomme ich userr...
Letzter Beitrag von matze1999 - 25 Januar 2026, 11:45:23
Hallo,

ich habe userreadings in einem Device erstellt, aber diese werden nicht automatisch in ein Filelog übernommen, wenn die Readings erstellt werden. event-on-change-reading ist eingestellt. Das triggernde reading erscheint im filelog, das userreading aus dem gleichen Devise nicht?

Wie könnte ich diese userreadings in ein Filelog bekommen?

matze