Ich habe einige 10m DS18B20 problemlos im Einsatz.
Sehe gerade es gibt auch fertige 15m Fühler:
Ich habe einige 10m DS18B20 problemlos im Einsatz.
Sehe gerade es gibt auch fertige 15m Fühler:
Nun die Leistungswerte (kW) werden schon saldiert sein!
Das Elektro Versorgungs Unternehmen (EVU) verrechnet jedoch nach bezogener und/oder eingespeister Energie (kWh) und nicht nach aktueller Leistung (kW).
Das bedeutet das alle kWh Werte, sobald eine Rückspeisung ins Netz (PV etc.) erfolgt, schlicht und ergreifend nicht korrekt sind und vom EVU Verrechnungszähler abweichen.
Ne, das verwechselst du wahrscheinlich mit MQTT
Korrekt!
Upps, hab deswegen und der nicht Script-fähigkeit fast alle Gen1 entsorgt. - Nur mehr ein 3EM und ein 1er aktiv.
Preis und Einfachheit sind nicht nach meinem Geschmack.
Mit Geschenken und Komplexität kann ich dir nicht weiterhelfen...
Ab Shelly Gen2 ist kein ColoT notwendig dafür kannst du diese in HA einbinden und über die Cloud bedienen. (Cloud ging bei Gen1 nur entweder oder)
Bluetooth ist nicht notwendig für HA wenn Wifi/Lan verfügbar.
Nun ich habe mit einigen ein-und dreiphasigen SSR und auch den Phasen -An u. -Abschnitts Halbleitern herum getestet damit sowohl:
... ein wenig smarter gemachen bzw. mit der Zielsetzung möglichst wenig PV Energie ins Netz zu speisen und auch die Temperatur zu regeln/steuern.
Den von dir gewählten (unten gelb markierten 10A Typ) kannst du so wie er ist bis ~800W auf einer Blechplatte montiert und darüber hinaus nur mehr mit einemüppigen Kühlkörper betreiben.
(Ich habe keinen zerstört, jedoch schaltet er bei Übertemperatur ab und dann lange nicht mehr ein.)
Die besten Ergebnisse erhielt ich mit dem grün markierten Schneider Harmonie Typ, da dieser von der Funktion jedoch „nur“ eine volle Halbwelle schaltet sind die Verluste am SSR erheblich geringer.
Link: Halbleiterrelais, Hutschiene, E: 4-32 VDC, A: 24-280 VAC, 12 A, nullsp.
Weitere Fakten SSR Schneider:
Für die Tests und nun in den produktiven Systemen habe ich im entwickelten Script, wegen Performance-Problemen beim UNI die minimalste Ein-Zeit auf 500ms gesetzt. (bei geringer Zeit (<300ms ) crashte das Script)
Mit dieser Einstellung konnte ich bei einem perfektem Regelergebnisses keinerlei Netzrückwirkung (flackerndes Licht etc.) auch bei zyklischen 6kW Last schalten feststellen.
Im derzeitigen Algorithmus (3ph. Sternpunkt) wird immer ein SSR ausgesteuert und dann der nächste, dadurch habe ich eine sehr gleichmäßige Regelung der Last.
(Welche auch beim Verrechnungs- und Shelly Zähler kaum sichtbare Leistungssprünge zeigt)
Hier nun der hoffentlich finale Script:
/// PV own consumption switch of a heater V1.2
/// Script only running on a SHELLY Pro 3EM
////////////////////////////////////////////////////////////////////////////////////////////
///
/// Created by HighFive © 2024
///
////////////////////////////////////////////////////////////////////////////////////////////
/// User variables & parameters
////////////////////////////////////////////////////////////////////////////////////////////
let adressSwitchIP = '192.168.0.253'; // IP adress from the remote Shelly-Relay
let log = 1; // If no console log needed please set log to "0"
//
const switchPowerON = -1300; // Overproduktion value for switch ON [watt]
const switchPowerOFF = -1150; // Overproduktion value for switch OFF[watt]
const switchDelayON = 8; // Delay switch ON [sec]
const switchDelayOFF = 12; // Delay switch OFF [sec]
////////////////////////////////////////////////////////////////////////////////////////////
/// Internal variables & parameters
////////////////////////////////////////////////////////////////////////////////////////////
let expectedStateRelay = false;
let url = 'http://' + adressSwitchIP + '/relay/0?turn=off';
let urlOld = '';
let counterSeconds = [0, 0, 0];
//
const refreshDelay = 5;
////////////////////////////////////////////////////////////////////////////////////////////
function timerHandler() {
let actPowerA_Pro3EM = Shelly.getComponentStatus("em:0").a_act_power;
///
if (actPowerA_Pro3EM > switchPowerOFF) {
counterSeconds[1] = -1;
} else if (actPowerA_Pro3EM < switchPowerON) {
counterSeconds[0] = -1;
} else {
counterSeconds[0] = -1;
counterSeconds[1] = -1;
};
///
if ((counterSeconds[1] >= switchDelayON) && (counterSeconds[0] < 0)) {
url = 'http://' + adressSwitchIP + '/relay/0?turn=on&timer=30';
expectedStateRelay = true;
counterSeconds[1] = switchDelayON;
} else if ((counterSeconds[0] >= switchDelayOFF) && (counterSeconds[1] < 0)) {
url = 'http://' + adressSwitchIP + '/relay/0?turn=off';
expectedStateRelay = false;
counterSeconds[0] = switchDelayOFF;
};
///
if ((log != 0) && (counterSeconds[0] > -1) && (counterSeconds[0] < switchDelayOFF)) {
print('OFF delay running for: ' + (switchDelayOFF - counterSeconds[0]) + ' sec');
};
if ((log != 0) && (counterSeconds[1] > -1) && (counterSeconds[1] < switchDelayON)) {
print(' ON delay running for: ' + (switchDelayON - counterSeconds[1]) + ' sec');
};
///
if ((counterSeconds[2] >= refreshDelay) || (url !== urlOld)) {
Shelly.call('HTTP.get', {
url: url, /// IP Header for ON/OFF [Automatik OFF if 30 secondes NO new telegram received]
timeout: 1
});
if ((log != 0) && (url !== urlOld)) {
print('Http command send: ' + url);
};
urlOld = url;
counterSeconds[2] = -1;
if (log != 0) {
print('Phase A power: ' + actPowerA_Pro3EM.toFixed(1) + ' Watt / Status Relay: ' + expectedStateRelay);
};
};
///
for (let i = 0; i < counterSeconds.length; i++) {
counterSeconds[i] = counterSeconds[i] + 1;
};
};
////////////////////////////////////////////////////////////////////////////////////////////
Timer.set(1000, true, timerHandler, null);
////////////////////////////////////////////////////////////////////////////////////////////
Alles anzeigen
Wie schon erwähnt bei Fragen bitte einen Screenshot von der CONSOLE.
Das geht, Problem ist die Phasenverschiebung und ein Stromwandler misst dann halt nur ca 33% (ist logisch)
Immerhin sind ± 7% erheblich genauer als ± 33%....
Für die zweite [winkelverschobene] Phase könnte in einem Script die Leistung und Energie mit einem sehr geringerem Fehler berechnet/geschätzt werden.
Simulation im Matlab (Annahme gleiche Spg. wie erste Phase am Shelly EM):
Resüme: Für Standardanwendungen sollte diese Genauigkeit reichen.
Herangezogene Daten für die Simulation:
Der Link ist im "Shelly Türgong abschalten" Thread Beitrag #7.
Erstaunlicherweise wird nur auf Bildchen (Beitrag #20) aber nicht auf Links reagiert.
Ach so...
AC od. DC und sehr teuer mit 8€... Upps Bistabil ist's auch noch:
Die einfachste aber nicht optimalste (nur eine Schaltstufe) PV Nulleinspeise-Solution:
Es reicht vollauf am Einspeisepunkt den Energiefluss (+) oder (-) Rück-od. Einspeisung festzustellen.
Die Last sollte der verfügbaren PV-Leistung möglichst granular vorhanden sein.
Bsp: 3x 2kW besser 1 x 0,5kW, 1 x 1kW und 1 x 1,5kW etc... (die Auswahl erfolgt via Konfiguration im Script)
Diese Kombination ist schon mehrmals und tlw. schon > 2 Jahre ohne erwähnenswerten Probleme im Einsatz.
Du willst sowas?
Aufzeichnung 2024-07-25 194251.mp4
(um 19:45 wenig PV-Leistung)
Damit ich/wir im Klaren sind, wie deine aktuelle Situation ist, zeichne mal grob die Energie-Flüße und wichtigsten Komponenten auf und teile dies mit uns.
coraxt Siehste, dann erspar ich mir auch noch ein wenig Scripting. -> Ente gut, alles gut!
@apreik: sorry...aber dein Besserwisser Modus ist mir zu blöd. Bitte keine Kommentare mehr, da kommt nichts konstruktives nur blabla.
Die Frage war klar gestellt und hat nichts aber gar nichts mit dem bestehenden WLAN zu tun. Natürlich kann man mit einem bessren WLAN1 das Problem umgehen-das war aber nicht gefragt
Andrea57 Dein Problem kurz und bündig
Und Nein, apreick braucht keinen Modus, es ist sogar Fakt das er immenses Fachwissen, Genauigkeit und wie man sieht sogar viel Geduld hat.
Bitte Thema schließen oder löschen, sonst antwortet apreik noch auf seine eigenen "ich weiss zwar nichts, mische mich aber ein....."Kommentare mit weiteren Schenkelklopfern.
Ich schlage in deinem Alter solltest du ein wenig auf deine Gesundheit und vorallem auf deinen Blutdruck achten.
Halte dir vor Augen die Zeit, auch deine, ist endlich...
Weil es mich interessiert hat habe ich dein Thema nochmal überarbeitet.
Neuer Script:
/// Shelly Script MQTT Example V2.1
/// Prepared for Shelly Dimmer 0/1-10V PM Gen3
////////////////////////////////////////////////////////////////////////////////////////////
///
/// Created by HighFive © 2024
///
////////////////////////////////////////////////////////////////////////////////////////////
/// Begin MQTT variables/parameters
////////////////////////////////////////////////////////////////////////////////////////////
// MQTT Read/Write TOPICS
let topicDimmingValue = "Shelly 0..10V/Dimming Value 0..100%";
////////////////////////////////////////////////////////////////////////////////////////////
/// Prepare MQTT Read/Write topics
////////////////////////////////////////////////////////////////////////////////////////////
// Query the MQTT prefix on startup
Shelly.call("Mqtt.GetConfig", "", function(res, err_code, err_msg, ud) {
topicDimmingValue = res["topic_prefix"] + '/' + topicDimmingValue;
MQTT.publish(topicDimmingValue, '0', 0, true);
MQTT.subscribe(topicDimmingValue, MQTTCmdListener);
});
////////////////////////////////////////////////////////////////////////////////////////////
/// Listen on MQTT Read topics after MQTT changes
////////////////////////////////////////////////////////////////////////////////////////////
function MQTTCmdListener(topic, message) {
print(topic + ' changed over MQTT to: ' + message + ' %');
if (topic === topicDimmingValue) {
Shelly.call("Light.set", {
'id': 0,
'brightness': message
});
}
}
////////////////////////////////////////////////////////////////////////////////////////////
///
////////////////////////////////////////////////////////////////////////////////////////////
Alles anzeigen
Funktion:
Meine Philosophie(*) ist möglichst kurze Wege vom Sensor(Fühler) zum Aktor(Schaltausgang/Heizung).
Überwachungsfunktionen(nicht zeitkritische) wie Visualisierung und Notifikation's können unabhängig und nicht zeitgleich
vom Regel-Steuerkreis installiert werden und haben keinen Einfluss auf den wirklichen Haupt-Prozess (Im konkreten Beispiel: Fühler bis zur Heizung).
HA Lösung Fühler > AddON > Shelly2PM > WLAN > HA Core > Automation/Template > WLAN > Shelly2PM > Relais > Heizung
Script Lösung: Fühler > AddON > [Shelly2PM > Script > Shelly2PM] > Relais > Heizung
[!] An jeder einzelnen Stelle kann eine Fehlerfunktion auftreten, jede Reduktion eines nicht notwendigen Schrittes verringert das Risiko exponentiell.
(*) Berufsbedingt, da ich im Team Systeme/Prozesse zur Personen-Beförderung auf Schiene und Seil entwickle.
Wenn ihr wollt, ändere ich den Script ab:
> Die Überwachung und Notification könnt ihr dann im HA lösen.
Für mich wäre das die optimale Aufgabenteilung zwischen Feldgerät (Shelly) und Steuerzentrale HA.
Was denkt ihr?