Ok, kümmere mich...
Beiträge von ostfriese
-
-
Willkommen im Forum.
Hier gibt es ein Bastelprojekt dazu.
-
Change your code to the following and it will start at reboot:
Code
Alles anzeigenconst wait_minutes = 10; const min_watt = 34; const interval = 5; function check() { const status = Shelly.getComponentStatus('switch', 0); if(!status) return; if(status.apower >= min_watt) { counter = 0; print('Power:', status.apower,' Counter:', 0); return; } counter += 1; print('Power:', status.apower,' Counter:', counter); if (counter >= wait_minutes * 60 / interval) { counter = 0; Shelly.call("Switch.set", {'id': 0, 'on': false}); } } function start() { let counter = 0; Timer.set(interval * 1000, true, check); print("Turn off if counter reaches", wait_minutes * 60 / interval); } Timer.set(3000, false, start);
-
Um Schäden an meiner Installation zu vermeiden, wasche ich einmal im Jahr alle meine Leitungen und öle die LS
-
-
Wie bekomme ich das script auf das Gerät und wie rufe ich es im Heimnetz
Copy/Paste
und beim dann fertigem Skript einfach per http.
Codehttp://<ip_des_schelly>/script/1/kamin?zuenden http://<ip_des_schelly>/script/1/kamin?aus . . .
Wenn du mir alle notwendigen Zustände in der Form:
sagst, kannst du den Rest getrost mir überlassen
Einschließlich der notwendigen Erklärung.
Aber erst einmal testen, ob og. Skript deinen Kamin zündet.
Dazu einfach unter Scripts/Create Script, den Code 'reinkopieren, einen Namen vergeben, speichern, und auf Start klicken.
Natürlich den Shelly vorher richtig an deinen Kamin anschließen.
-
Das ist die schnellste Möglichkeit. Schneller als jede Szene.
Der Rest ist dann schnell zu programmieren.
-
Kein Problem. Wenn folgendes Testskript die Zündung (1,2,3 geschlossen für 1 Sekunde) startet, lohnt sich, das weiter zu verfolgen:
Code
Alles anzeigenfunction reset() { Shelly.call('Switch.Set', {'id':0, 'on':false}); Shelly.call('Switch.Set', {'id':1, 'on':false}); Shelly.call('Switch.Set', {'id':2, 'on':false}); } function set() { Shelly.call('Switch.Set', {'id':0, 'on':true}); Shelly.call('Switch.Set', {'id':1, 'on':true}); Shelly.call('Switch.Set', {'id':2, 'on':true}); Timer.set(1000,false,reset); } set();
-
a) gar nicht.
b.) VPN (wenn mit außerhalb nicht im eigeben Netz bedeutet),
Du brauchst ein Skript auf dem Pro 3 mit einem http-Endpoint. Das ist auch der schnellste Weg, was die Gleichzeitigkeit angeht.
Habe keinen Pro3. Deshalb kann ich nicht sagen, wie groß der Zeitverzug für mehrere Relais 'gleichzeitig' ist.
Das Skript könnte ich leicht schreiben, ob das dann schnell genug ist, bleibt dein Risiko.
Bestellen, testen und ggF. zurücksenden.
-
-
Willkommen im Forum.
Eine Gleichzeitigkeit im Sinne des Wortes ist, mit ausschließlich Software, wohl kaum zu erreichen.
Edit: Martin Krauskopp war schneller.
-
Ich löse das über eine callstack. Alle calls in einem Array speichern und nacheinander abarbeiten.
Nur ein, so nicht funktionierendes, Beispiel:
Code
Alles anzeigenfunction do_call_stack(){ try { if(busy){return}; if(call_stack.length > 0) { Timer.clear(t3); t3 = Timer.set(100,true,do_call_stack); busy = true; param = call_stack[0][1]; if (JSON.stringify(param).indexOf('null') > -1 || JSON.stringify(param).indexOf('*http://') > -1) { call_stack.splice(0,1); busy = false; return; } what = call_stack[0][0]; Shelly.call(what,param, function(result, error_code, error_message,action_type) { try { if(error_code === 0) { call_stack.splice(0,1); busy = false; return; } } catch(e) {print('ERROR in do_call_stack Shelly.call:', what, JSON.stringify(param), '->', error_message)}; call_stack.splice(0,1); busy = false; return; } ); } Timer.clear(t3); t3 = Timer.set(1000,true,do_call_stack); } catch(e){print('ERROR in do_call_stack:', e.message)}; } uri = some_url; p = {}; p['url'] = uri; p['timeout'] = 5; m = 'http.get'; call_stack.push([m,p]) let busy = false; t3 = Timer.set(1000,true,do_call_stack);
-
Kreativer Vorschlag
-
Joop, ich denke mal, wir halten erst einmal die Füße still. Der Vorfall wird geklärt.
-
Besser ist. Das beruhigt mich.
-
Ok, danke für die Bestätigung.
Ich hoffe, du hast die .zip, die dort angehängt war, nicht heruntergeladen.
-
thgoebel Thomas, kann es sein, dass zwischen #22 und #23 ein Post fehlt? Warum sprichst du dort plötzlich Englisch?
-
-
-