Shellist Posted November 5 Posted November 5 Ich arbeite an einer Schaltung, die bei einem Temperaturunterschied von 5°C zwischen zwei DS18B20-Sensoren den Ausgang 0 einschaltet und bei einem Temperaturunterschied von 2°C den Ausgang 0 wieder trennt. Das Ganze als "Aktion" über das Web-UI direkt auf dem Shelly. Ich finde aber keine Möglichkeit die beiden Sensoren zu vergleichen (T100-T101=5 -> ON / T100-T101=2 -> OFF). Wer hat eine Idee? Quote Translate Revert translation? English (American) Finnish French German Italian Portuguese (European) Spanish
If_then_else Posted November 5 Posted November 5 Mathematische Funktionen (Addieren, Subtrahieren etc.) sind mMn mit Actions nicht umsetzbar. Mein Vorschlag wäre einen Script zu implementieren. Quote Translate Revert translation? English (American) Finnish French German Italian Portuguese (European) Spanish
Shellist Posted November 5 Author Posted November 5 (edited) Das habe ich befürchtet ... Aber vielleicht hat jemand noch eine andere Idee? Edited November 5 by Shellist Quote Translate Revert translation? English (American) Finnish French German Italian Portuguese (European) Spanish
If_then_else Posted November 5 Posted November 5 Ich befürchte die gewünschte Funktion: //////////////////////////////////////////////////////////////////////////////////////////// if ((temp100 - temp101) >= 5) { Relais = ON }; /// if ((temp100 - temp101) <= 2) { Relais = OFF }); }; //////////////////////////////////////////////////////////////////////////////////////////// Kann direkt am Shelly erst ab Gen 2 mit einem Script oder durch ein externes System abgedeckt werde. Wie du schon sagtest, vielleicht hat doch jemand eine andere Idee die dir besser zusagt. Quote Translate Revert translation? English (American) Finnish French German Italian Portuguese (European) Spanish
Shellist Posted November 5 Author Posted November 5 Neee ... supi! Danke! Ich habe zuerst gedacht ich müsste ein Script programmieren (lassen von ChatGPT - lesen und verstehen kann ich JS inzwischen ganz gut), aber dann kam mir die Idee es mit Aktionen zu machen - welche Erleichterung - als ich mich dann im UI umsah folgte Ernüchterung. Jetzt herrscht wieder happyness 🤓 Umso besser, wenn man die Temperatursensoren einfach so ansprechen kann und nicht über das API muss. Quote Translate Revert translation? English (American) Finnish French German Italian Portuguese (European) Spanish
If_then_else Posted November 5 Posted November 5 (edited) Schau mal.... /// Delta t Control V1.0 //////////////////////////////////////////////////////////////////////////////////////////// /// /// Created by if then else (HighFive) © 2024 /// //////////////////////////////////////////////////////////////////////////////////////////// let log = 1; // If no console log needed please set log to "0" //////////////////////////////////////////////////////////////////////////////////////////// function timerHandler() { //////////////////////////////////////////////////////////////////////////////////////////// let temp100 = Shelly.getComponentStatus('Temperature', 100).tC; // temperatur sensor 100 let temp101 = Shelly.getComponentStatus('Temperature', 101).tC; // temperatur sensor 101 //////////////////////////////////////////////////////////////////////////////////////////// /// Control of delta t //////////////////////////////////////////////////////////////////////////////////////////// if ((temp100 - temp101) >= 5) { Shelly.call("Switch.set", { 'id': 0, 'on': true }); }; if ((temp100 - temp101) <= 2) { Shelly.call("Switch.set", { 'id': 0, 'on': false }); }; //////////////////////////////////////////////////////////////////////////////////////////// /// print state to the console window [log=1] //////////////////////////////////////////////////////////////////////////////////////////// if (log != 0) { if (Shelly.getComponentStatus('switch', 0).output) { stateOutput = 'ON'; } else { stateOutput = 'OFF'; }; /// print('Sensor "100": ' + temp100.toFixed(1) + ' °C // Sensor "101": ' + temp101.toFixed(1) + ' °C // Δt: ' + (temp100 - temp101).toFixed(1) + ' // Output : ' + stateOutput); }; }; //////////////////////////////////////////////////////////////////////////////////////////// /// //////////////////////////////////////////////////////////////////////////////////////////// Timer.set(1000, true, timerHandler, null); //////////////////////////////////////////////////////////////////////////////////////////// Edited November 5 by If_then_else Quote Translate Revert translation? English (American) Finnish French German Italian Portuguese (European) Spanish
Shellist Posted November 5 Author Posted November 5 Der Plus Plug S hat Probleme mit konkatenierten print()-Befehlen. Der Plus Uni nicht? Wie kann man die print()-Ausgaben sichtbar machen - ausser in der Debugging-Ausgabe? Da bin ich noch nicht durchgestiegen. Schicken ans Handy geht ja nur über die Cloud oder ein SH-System. Quote Translate Revert translation? English (American) Finnish French German Italian Portuguese (European) Spanish
If_then_else Posted November 5 Posted November 5 (edited) 1 hour ago, Shellist said: Der Plus Plug S hat Probleme mit konkatenierten print()-Befehlen. Der Plus Uni nicht? Wie kann man die print()-Ausgaben sichtbar machen - ausser in der Debugging-Ausgabe? Da bin ich noch nicht durchgestiegen. Schicken ans Handy geht ja nur über die Cloud oder ein SH-System. Keine Ahnung was du mir hiermit erzählen willst.... Ich hab mit "print" weder beim Plug S, Plus UNI noch sonst einem Shelly troubles.😁 Vielleicht probierst einfach mal in einem Browser die IP des Shellys eintragen! Vermute das erweitert den Horizont!😉 Aufzeichnung 2024-11-05 211539(1).mp4 Print() geht am Desktop/Handy etc. oft mit der passenden AP.😉 Aufzeichnung 2024-11-05 211539(1)-1.mp4 Edited November 5 by If_then_else Quote Translate Revert translation? English (American) Finnish French German Italian Portuguese (European) Spanish
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.