Bestätigung.
Ich nutze diesen gekapselten koaxialen US Sensor JSN-SR04T. Dieser hat sich bisher gut bewährt.
VPN/Proxy erkannt
Es scheint, dass Sie einen VPN- oder Proxy-Dienst verwenden. Bitte beachten Sie, dass die Nutzung eines solchen Dienstes die Funktionalität dieser Webseite einschränken kann.
Bestätigung.
Ich nutze diesen gekapselten koaxialen US Sensor JSN-SR04T. Dieser hat sich bisher gut bewährt.
herrmannjoerg Ich messe meinen Zisternenfüllstand per Ultraschallsensor, aber mit einem Nicht-Shelly ESP32 Board und Tasmota32. Das gelingt sehr gut. Tasmota liefert einen Abstand, den ich mit einem Programm in der Sprache Berry von Ausreißern befreien und in den Füllstand umrechnen lasse. Mein einziges Problem ist die sehr hohe Luftfeuchtigkeit in der Zisterne, was in deinem Fall ja kein Problem darstellen wird.
Wie dies mit einem Shelly Plus Add On gelingen könnte, ist mir derzeit total unbekannt. Ich sehe dafür derzeit keine praktikable Möglichkeit. Allerdings habe ich dieses Add On bisher nicht und konnte mich darin noch nicht einarbeiten.
Vielleicht macht die sehr starke Oberflächenrauheit der Pelletfüllung einer Ultraschallmessung Probleme.
Ich habe mal die naturwissenschaftlich mathematischen Zusammenhänge notiert und hoffe, dass sich kein Fehler eingeschlichen hat.
Diese Notizen sind aus Notepad++ hierher kopiert, weshalb weder Tief- noch Hochstellungen und auch keine Schriftgrößenvariationen enthalten sind. Sie sollten trotzdem lesbar sein.
Ich lege hierfür irgendeine stabilisierte Referenzspannung und irgendeinen Reihenwiderstand zum NTC zugrunde. So lassen sich die Gleichungen auch bei einer externen Beschaltung mit anderer Referenzspannung und eigenem R1 verwenden.
Noch einmal die Anschlussbelegung von Allterco:
Heißleiter am Shelly Plus Add On
Kurzdarstellung ohne Herleitung: Alle Platzhalter außer t und p sind konstante Parameter.
mit t = Temperatur in °C:
t = 1 / (1/Tn + ln((R1/(100*Uref/(p*Uanmax) - 1))/Rn)/B) - 273 | Gl. 4.1
mit Uref = 3,3V und Uanmax = 10V:
t = 1 / (1/Tn + ln((R1/(33/p - 1))/Rn)/B) - 273 | Gl. 4.2
t = Temperatur in °C
Uref = Referenzspannung, hier am Spannungsteiler aus R1 + R(T)
Uan = analoge Eingangsspanng
Uanmax = maximal auswertbare analoge Eingangsspannung
R1 ist der im Shelly Plus Add On vorliegende Widerstand an Uref oder bei externer Beschaltung ein Widerstand zwischen Uref und ANALOG IN.
p = Uan/Uanmax in %
Kenngrößen des eingesetzten Heißleiters, mitunter auch NTC genannt:
Tn = Nenntemperatur, Einheit K
Rn = Nennwiderstand bei Nenntemperatur Tn
B = Temperaturkoeffizient für die Näherungsgleichung (s.u.)
Herleitung obiger Gleichungen
1. T = f(R(T)):
T = absolute Temperatur am bzw. im Heißleiter, Einheit K
Tn = Nenntemperatur, Einheit K
Rn = Nennwiderstand bei Nenntemperatur Tn
R(T) = Widerstand bei der Temperazur T
B = Temperaturkoeffizient für die Näherungsgleichung (s.u.)
R1 ist der im Shelly Plus Add On vorliegende Widerstand an Uref oder bei externer Beschaltung ein Widerstand zwischen Uref und ANALOG IN.
R(T) = Rn * e ^ B*(1/T - 1/Tn) | Näherungsgleichung
<=> R(T)/Rn = e ^ B*(1/T - 1/Tn)
<=> ln(R(T)/Rn) = B*(1/T - 1/Tn)
<=> ln(R(T)/Rn)/B = 1/T - 1/Tn
<=> 1/T = 1/Tn + ln(R(T)/Rn)/B
<=> T = 1 / (1/Tn + ln(R(T)/Rn)/B) | Gl. 1.1
2. Uan = f(R(T)):
Uan = analoge Eingangsspannung
Uref = Referenzspannung, hier am Spannungsteiler aus R1 + R(T)
R1 ist unbekannt, kann aber ermittelt werden
Uref/Uan = (R(T) + R1)/R(T) = R(T)/R(T) + R1/R(T) = 1 + R1/R(T)
<=> R1/R(T) = Uref/Uan - 1
<=> 1/R(T) = (Uref/Uan - 1)/R1
<=> R(T) = R1/(Uref/Uan - 1) | Gl. 2.1
3. Gl. 2.1 eingesetzt in Gl. 1.1 liefert T = f(Uan):
T = 1 / (1/Tn + ln((R1/(Uref/Uan - 1))/Tn)/B)
<=> T = 1 / (1/Tn + ln((R1/(Uref/Uan - 1))/Rn)/B) | Gl. 3.1
4. T = f(Uref/Uan), hier sind die Prozentwerte sofort nutzbar
Uanmax = maximal auswertbare analoge Eingangsspannung
p sei das Verhältnis aus Uan/Uanmax, welches theoretisch zwischen 0% und 100% variieren kann.
k = Uref/Uanmax <=> Uanmax = Uref/k <=> p = Uan/Uref/k = k*Uan/Uref
Mit Uanmax = 10V und Uref = 3,3V ist p = Uan/10V = 0,33*Uan/Uref <=> Uref/Uan = k/p = 0,33/p = Uref/(p*Uanmax)
Gl. 3.1 ist äquivalent zu
T = 1 / (1/Tn + ln((R1/(Uref/(p*Uanmax) - 1))/Rn)/B)
mit p in %:
T = 1 / (1/Tn + ln((R1/(100*Uref/(p*Uanmax) - 1))/Rn)/B)
Darin sind alle Werte außer T und p Konstante.
mit t = Temperatur in °C:
t = T - 273 = 1 / (1/Tn + ln((R1/(100*Uref/(p*Uanmax) - 1))/Rn)/B) - 273 | Gl. 4.1, Hier ist R1 irgendein Widerstand zwischen Uref und ANALOG IN.
mit Uref = 3,3V und Uanmax = 10V:
t = 1 / (1/Tn + ln((R1/(33/p - 1))/Rn)/B) - 273 | Gl. 4.2
Gleichung 4.1 ist die allgemeingültige Gleichung, die auch für eine externe Beschaltung gilt.
Es ist erkennbar, dass jeglicher Wunsch nach einem linearen (proportionalen) Zusammenhang keine reale Grundlage hat.
Ich sehe da nichts Unlogisches. Die Beschaltung realisiert einen Spannungsteiler an der Referenzspannung.
In der Doku steht nur etwas von Thermistor. Vermutlich soll es ein Heißleiter sein, wegen -t. Eine fallende Spannung signalisiert dann eine steigende Temperatur, was leicht umgerechnet werden kann. Ob dafür eine Konfiguration vorgesehen ist, weiß ich nicht.
Ob der Eingangsstrom an ANALOG IN hinein- oder herausfließt, kann ich den Unterlagen nicht entnehmen. Ich unterstelle, dass diese Stromstärke in dieser Beschaltung bereits durch R1 begrenzt wird, dessen Widerstandswert ich nicht kenne.
Das ist ja das Besondere an Allterco. Die Informationen sind weitgehend offen gelegt. Ich musste mich zuerst an den Stellen, die mich besonders interessierten lesend "durchärgern", bis ich an diesen Stellen die Dokumentation brauchbar verstand, mit einigen Experimenten gelang es aber verlässlich. Weiter so!
Ich bin kein Installateur und mit den verschiedenen Möglichkeiten der Heizungsregelung nicht vertraut.
Im allgemeinen basiert aber eine Regelung auf einer Nachführung der Istgröße in Richtung einer Sollgröße. Wenn deine Sensoren (hier NTC) im Estrich verbaut sind, dann ist offenbar die Sollgröße die Estrichtemperatur, was mir erst einmal etwas merkwürdig erscheint. Hier könnte ich mir eher eine Sicherheitskomponente vorstellen, welche dazu dienen soll, die Estrichtemperatur zu begrenzen. Als Sollgröße stelle ich mir eher die Raumtemperatur vor, wofür ein Sensor irgendwo im Raum zwischen Boden und Decke geeignet wäre.
Unabhängig von alledem: Bei der Ermittlung einer geeigneten Formel wirst du weitgehend selbst kreativ sein und zurecht kommen müssen. Zumindest sind Referenzmessungen dazu hilfreich bis erforderlich.
Das Umrechnen ist doch kein Problem. Es kann bspw. in einem zu erstellenden Skript erfolgen.
Allerdings ist dazu ein wenig zu programmieren.
Guten Morgen und ein glückliches neues Jahr.
Auch meine Shellies der ersten Generation hatten und haben eine kurze Id. Ich bin dabei, sie per longify auf die lange Id umzustellen. Bisher ging alles gut.
Ich danke den Beteiligten für die Info und meine Sensibilisierung zu dieser Eigenschaft.
Leider ist immer noch offen, was bei o.a. Problemen die Ursache ist.
Bemerkungen dazu:
Das Sichern von bisheriger Firmware per Flash-Adapter und -Programm sollte vor solchen missliebigen Problemen schützen können.
Ok, es ist relativ aufwändig, auch weil dazu der jeweilige Shelly auszubauen und wieder einzubauen ist.
Ich denke bspw. an Tasmotizer, mit welchem ich bereits vorhandene Original Shelly Firmware vor dem Flashen mit Tasmota gesichert habe.
Ich hatte bisher allerdings keinen Grund, dies rückgängig zu machen.
Wenn aber vor dem Update solche Probleme bekannt werden, bzw. dabei jemand ein solches Problem bei einem seiner Shellies feststellt, wäre dies eine mögliche Rettungsmaßnahme für weitere Shelly Updates.
Bei Plug (S) ist es besonders aufwändig, weil dieser afaik keine dafür vorgesehene Buchsenleiste besitzt. Es wäre somit zu löten.
Ich frage mich auch, wie man einen Shelly der zweiten Generation (Plus) ohne Eingriff flashen könnte. Bisher las ich dazu nichts.
Immerhin würde es genügen, vor einem Firmware Update von einem (Reserve-)Gerät desselben Typs bspw. den Auslieferungszustand zu sichern, um im Notfall diese Sicherung auf einen betroffenen Shelly zu übertragen.
Oh, ich glaube, mal gelesen zu haben, dass solche Firmwaredateien irgendwo hier verfügbar sein sollen. Das könnte wenigstens eine vorläufige Hilfe für den TE und andere Betroffene sein ...
"login":{"enabled":false,"unprotected":false,"username":"admin"}
Ich kann dies nur frei interpretieren, evtl. sollten diese Struktur/Objekt genauer untersucht werden.
Ein disabled login und nicht ungeschützt erscheint mir ein Widerspruch. Und dann noch ein Benutzername/Anmeldename(?) "admin" ... hmm
Da wäre eine Stellungname seitens Allterco interessant.
Möglicherweise dominiert login.enabled = false und der Rest ist irrelevant. Ich weiß es nicht.
Nach einem Test: Mein Test PlugS zeigt an dieser Stelle das Gleiche. Mein Verdacht erscheint somit unbestätigt.
Ich interpretiere in der original Doku das "-t" am veränderlichen Widerstandssymbol als negativen Temperaturkoeffizient. Ich kenne dafür zwei gegenläufige Pfeile.
Wenn meine Interpretation stimmt, sieht Allterco tatsächlich einen NTC vor.
Bestätigung aus der Doku:
Ist bekannt, wie belastbar Vref out ist oder deren innerer (differentieller) Widerstand?
Ich bin heute wohl etwas zu nervös. Ich fand soeben dass dieser Ausgang max. mit 1mA belastbar sei.
Sorry
Hmm, einen im AddOn integrierten Analog-Multiplexer wünsche ich mir noch.
Nachgereicht:
Entschuldigung, das war etwas unsinnig, da ein ESP32 bereits über mehrere analoge Eingänge verfügt.
Also bräuchte es nur ein paar zusätzliche Klemmen.
An anderer Stelle in diesem Forum sah ich, dass zum Plus Addon der Anschluss eines NTC Widerstandes zwischen Ground und Analog In vorgesehen ist, was auch hier zu sehen ist.
Es wird elektronisch verständlich, wenn, wie dargestellt, der NTC mit einem R1 (Wert unbekannt) in Reihe an einer Referenzspannung betrieben wird.
Dann wünsche ich schlicht frohes Experimentieren.
Ungetestet aber ziemlich wahrscheinlich funktionstüchtig:
In irgendeinem Frontend (Bedienungsoberfläche) einen Schalter für Abwesenheit oder "Urlaub" bereitstellen.
Wird der virtuelle Schalter auf ein/aktiv gestellt, zwei (oder mehr?) Nachrichten per HTTP oder MQTT oder ??? an alle betreffenden Shellies senden, die
Wird der Schalter auf aus/inaktiv gestellt, per Nachricht das Scheduling auf den betreffenden Shellies aktivieren.
Ich täte es mit Node RED - in Homematic afaik RedMatic - und MQTT lösen, per HTTP dürfte es aber auch gelingen, falls kein MQTT zur Verfügung steht.
Btw. ähnliches habe ich per Node RED für meine lokalen Heizungssteuerungen so gelöst. Mein System ist gemischt mit TRVs und Shelly 1 + Addon realisiert. Allerdings nutze ich das Scheduling nur in den TRVs.
Nachtrag:
Die Urlaubswerte lassen sich in einem Konfigurationsknoten leicht verwalten und von dort holen, sowohl global als auch Flow bezogen. Optional können solche Daten persistent gespeichert (Dateisystem) und beim starten von Node RED in die Konfiguration geladen werden.
Ok, das könnte nicht schaden. Ich frage mich aber auch, warum jemand das von dir Erwähnte einfach mal so versucht, offenbar ohne Kenntnisse in Elektrotechnik/Elektronik. Aber gut, er hat ja Hinweise dazu erhalten.
Meine Frage wäre ...
Plötzlich wird bei beiden das Addon nicht mehr erkannt.
Wie stellst du dieses Nichterkennen fest, soll heißen was verwendest du dafür?
Btw ich verstehe die Beliebtheit der App-Nutzung außerhalb er Cloud nicht.
Ich habe soeben auf 5 Plug S ein Firmware Update durchführen lassen - keinerlei Probleme, Konfigurationen und Funktionen blieben erhalten.
Vielleicht gab es bei dir während des Updates eine Störung im Stromnetz.
Btw ich verwende die App nie für lokale Zugriffe. Dafür sind imho die WebUI am besten geeignet.
WebUI auf meinem Smartphone, Shelly Plus 2PM mit Firmware 0.12.0:
... oder eine Messbrücke
Ich habe den Plus Add-On auch (noch) nicht.
@66er Ich kannte den RuuviTag bisher nicht. Interessant daran scheint mir dessen Witterungsfestigkeit und die Reichhaltigkeit an Sensoren. So würde ich den RuuviTag vielleicht anstatt eines Plus Addon im Außenbereich einsetzen.
Neugierig - darf ich fragen, wie und/oder wo du den RuuviTag einsetzt?