https://www.wienenergie.at/blog/saldieren…ehler-erklaert/
Wir haben mit den Shelly's "Phasenbezogene Zähler"... bei diesen ist nur mit einem Script oder einem externen System "saldierende" also korrekt Werte (wie der Verrechnungszähler) möglich.
https://www.wienenergie.at/blog/saldieren…ehler-erklaert/
Wir haben mit den Shelly's "Phasenbezogene Zähler"... bei diesen ist nur mit einem Script oder einem externen System "saldierende" also korrekt Werte (wie der Verrechnungszähler) möglich.
Wenn man dort 1 als Tarif eingibt, hat man den unterschiedlichen Zählerstand für Tag und Nacht.
Bsp: TAG = 6:00..22:00
Für 6:00..22:00 [TAG] würde (ungetestet) diese spezielle Anwendung funktionieren.
Kannst du mir zeigen wie du es für 22:00..6:00 [NACHT] einstellst?
der Shelly saldiert auch nicht.
Tag und Nacht werden schon saldiert.
Und alles andere mit Script auch!
Shelly Zähler kann generell nur einen Wert zählen = TAG + NACHT.
Müsstest die Daten anhand der Uhrzeit auseinander dividieren.
Sorry, eine vorteilhaftere Lösung fällt mir nicht ein.
Im Script brate ich die Tierchen mal nicht, wenn einer der beiden Sensoren fehlt.
(Dann ist definitiv frieren angesagt)
Im Keller kondensiert Wasser wenn die Temp. abfällt im Sommer mehr wie im Winter.
Überzeichnet: Ich schnarche auch nur beim Schlafen, das jedoch auch Tag, Nachts, Sommer wie Winter. [⸮]
Jedoch ist hierfür alleinig der Taupunkt[!] das Produkt aus relative Feuchte, Temperatur und Luftdruck[*] relevant.
Wie sich 5 %rF auswirken, kann hier simuliert werden: Taupunktrechner
Detaillierte H x Erklärung Mollier-h-x-Diagramm
[*] Luftdruck auf Erdniveau zu vernachlässigen.
Freut mich wenn es deinen Anforderung entspricht.
Aber mit dem Script und dem Durchschnitt wird das scheinbar etwas kompensiert.
Der Script läuft nur alle 10 Sekunden, was im Fehlerfall ein wenig das interne Relais und die Last schützt. Kannst ja mal zum Test die 10000ms auf 1000ms setzen dann ist alles 10X schneller!
Ich kapier sogar einigermaßen den Aufbau von dem Skript , ist auch nicht so komplex. Hast du was zum Nachlesen wo man die Sprache und Argumente vielleicht etwas nachlesen kann. Ich glaube wenn ich so eine Befehlsübersicht habe könnte ich mir durchaus vorstellen, dass ich das für einfache Fälle irgendwie hinbekommen könnt.
Gibts da einen Editor? Also ich meine der auch die Einrückung automatisch richtig macht. Bei den yamls im HA ist es ja so ein Leerzeichen zu viel oder zu wenig und schon geht nix mehr.
Du solltest dich im Internet einlesen, dort findest du Antworten zu deinen Fragen.
Ich hab die Shelly auch schon im HA. Ich gehts dann gleich mal zur Kür, das script als Automation nachbauen. Oder gibts da in HA schon ein bessere Lösung mit einer Karte?
Nutze zwar HA intensiv auf mehreren Projekten.
Jedoch habe ich alle kritischen Prozesse ausgelagert um Netzwerk-, Cloud- oder übergeordnete System- problemen [HA] so wenig wie möglich ausgeliefert zu sein.
Ich denke der HA Spezialist " apreick " hat eine andere Meinung und hilft dir sicherlich bei der Umsetzung via HA.
@corax
Vorschlag mit Script:
1.) Factory Reset des Plus2PM Shelly (Damit keinerlei Actions, Scenen etc. aktiv sind)
2.) Alle 4 Fühler anlegen
3.) Debug einschalten
4.) Websocket debug aktivieren / "enabled" auswählen und "Save settings"
5.) Create script
6.) Script-Code speichern
7.) Script starten
8.) "Run on startup" aktivieren
FERTIG
Code:
/// Temperature Control Terrarium 1 & 2 V1.0
////////////////////////////////////////////////////////////////////////////////////////////
///
/// Created by HighFive © 2024
///
////////////////////////////////////////////////////////////////////////////////////////////
let log = 1; // If no console log needed please set log to "0"
let tempOff = 33; // temperature OFF if average from sensor 1 and 2 higher
let tempOn = 30; // temperature ON if average from sensor 1 and 2 lower
////////////////////////////////////////////////////////////////////////////////////////////
function timerHandler() {
////////////////////////////////////////////////////////////////////////////////////////////
let tempTerrarium1Left = Shelly.getComponentStatus('Temperature', 100).tC; // temperatur terrarium 1 left
let tempTerrarium1Right = Shelly.getComponentStatus('Temperature', 101).tC; // temperatur terrarium 1 right
let tempTerrarium1Average = ((tempTerrarium1Left + tempTerrarium1Right) / 2); // temperature average terrarium 1 (sensor 100 / sensor 101)
////////////////////////////////////////////////////////////////////////////////////////////
let tempTerrarium2Left = Shelly.getComponentStatus('Temperature', 102).tC; // temperatur terrarium 2 left
let tempTerrarium2Right = Shelly.getComponentStatus('Temperature', 103).tC; // temperatur terrarium 2 right
let tempTerrarium2Average = ((tempTerrarium2Left + tempTerrarium2Right) / 2); // temperature average terrarium 2 (sensor 102 / sensor 103)
////////////////////////////////////////////////////////////////////////////////////////////
/// Control of terrarium 1 heating
////////////////////////////////////////////////////////////////////////////////////////////
if (tempTerrarium1Average > tempOff) {
Shelly.call("Switch.set", {
'id': 0,
'on': false
});
};
if (tempTerrarium1Average < tempOn) {
Shelly.call("Switch.set", {
'id': 0,
'on': ((tempTerrarium1Left > 0) && (tempTerrarium1Right > 0))
});
};
////////////////////////////////////////////////////////////////////////////////////////////
/// Control of terrarium 2 heating
////////////////////////////////////////////////////////////////////////////////////////////
if (tempTerrarium2Average > tempOff) {
Shelly.call("Switch.set", {
'id': 1,
'on': false
});
};
if (tempTerrarium2Average < tempOn) {
Shelly.call("Switch.set", {
'id': 1,
'on': ((tempTerrarium2Left > 0) && (tempTerrarium2Right > 0))
});
};
////////////////////////////////////////////////////////////////////////////////////////////
/// All 10 second print all temperatur sensors and state of the relay to console window
////////////////////////////////////////////////////////////////////////////////////////////
if (log != 0) {
print('*** TERRARIUM 1 *** Sensor left: ', tempTerrarium1Left.toFixed(1) + ' / Sensor right: ' + tempTerrarium1Right.toFixed(1) + ' / Average: ' + tempTerrarium1Average.toFixed(1) + ' / Heater : ' + Shelly.getComponentStatus('switch', 0).output);
print('*** TERRARIUM 2 *** Sensor left: ', tempTerrarium2Left.toFixed(1) + ' / Sensor right: ' + tempTerrarium2Right.toFixed(1) + ' / Average: ' + tempTerrarium2Average.toFixed(1) + ' / Heater : ' + Shelly.getComponentStatus('switch', 1).output);
print('*******************************************************************************************************');
};
};
////////////////////////////////////////////////////////////////////////////////////////////
///
////////////////////////////////////////////////////////////////////////////////////////////
Timer.set(10000, true, timerHandler, null);
////////////////////////////////////////////////////////////////////////////////////////////
Alles anzeigen
Probier mal das:
OMG
Noch sehe ich kein neues Release unter FW-Version.
Werd mal ein wenig abwarten.
Ich habe hier keinerlei Probleme seit verwenden von HA (ca. 3 Jahre)
Update HA auf Raspi 5 im Docker dauert ca. 30 sec und dann geht alles wieder.
[*] [Jan. '24] Internet Statistiken HA Reboot timing: minimum: 1 Minute, normal: 2 Minuten, maximum: 10..15 Minuten
Hast ein perfektes System bei dir laufen....
@SaschaBr
Mit einer Auslesung des Verrechnungszählers hast du schon mal die best möglichste Genauigkeit.
Ich hatte mit der verzögerten Datenübertragung für "Null"-Einspeiseregelungen so meine Probleme.
Meine Lösung besteht bei 3EM[*] und Pro 3EM mit einer angepassten Saldierung-Script-Lösung und
bin nun bei 8 PV Projekten (3EM / Pro 3EM ∑ 15 Stk.) bei max. 2.4% Abweichung zur Verrechnung.
Fehler: [Beobachtungszeitraum 12/20..7/24]
Zusammenfassend:
Generell ist für mich Shelly immer noch ein Produkt mit Potenzial, speziell bei Prototypen / Testprojekten.
[*]Mithilfe anderem Gen2 im Netzwerk
Saldieren:
Um beim Shelly zu bleiben beziehen wir uns auf das technische Saldieren also ausgleichen:
Ich hoffe, mit den beidseitigen Untergriffigkeiten sind wir nun auf auf einem saldierenden [=ausgeglichenen] Level
und konnte dich hiermit auch ein wenig sedieren [=beruhigen]!
Stell doch mal von allen Werten, welche du geändert oder angepasst hast einen Screenshot rein.
Damit wir verstehen können, was Sache ist.