Beiträge von ostfriese
-
-
-
Klar geht das. Mit Linux kannst du das direkt aus der Api übernehmen.
Bei WINDOOF must du dir was basteln. Meine zarten Hände fassen keine Windows Rechner an.
Außerdem lohnt es nicht, für einen Copy/Paste Vorgang, der 2 Minuten Zeit (inklusive Kaffee holen) in Anspruch nimmt und evtl. alle paar Jahre mal fällig ist,
eine Automatisierung zu erstellen.
Du hast von mir mit dem Skript 'ne maß gefertigte Shelly-Schrankwand bekommen, nu muss aber gut sein
Klappt es den mit der Steuerung.
-
Sollte dann ja passen. Ausprobieren!
-
zu 1):
Unter Scripts, neben dem Skriptnamen, den Schiebeschalter aktivieren:
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. zu 2)
Was meinst du damit?
-
Mittelalter ist übertrieben. Oldscool mag ich. Bin ich ja auch!
Du hast doch bestimmt in deiner Ausbildung auch so schöne Schützsteuerungen gebaut
-
Ja, das war auch meine Überlegung. Sonst hatte ich mir die Mühe gar nicht gemacht.
Ich finde die Umsetzung mit 3 Eingängen nicht so dumm. Und mit den Sekunden dazu, selbst nur mit 1 bis 12, komme ich auf theoretisch
2³ * 12 = 96
Das ist doch nicht dumm gemacht
-
Wenn die Entwickler der Steuerung ein Kontaktprellen auf den Eingängen mit berücksichtigt haben, könnte das funktionieren.
-
Krauskopp Martin, ich kann auch nur sagen, dass das Skript funktioniert. Ob der Kamin das auch so verarbeitet, muss @Guenni00 ausprobieren.
Auf jeden Fall ist das die kürzeste Zeitverzögerung zwischen dem Schalten der einzelnen Relais, die man überhaupt erreichen kann.
Nichts ist schneller, als das Skript. Geht es damit nicht, geht es gar nicht.
-
Habe das Skript unter #26 angepasst und die variablen Sekunden eingebaut.
Bringe bitte den Pro3 auf den neuesten FW Stand. Aktiviere unter:
Settings, Debug Enable Websocket debug
Du musst an den Skript nichts machen. Einfach Copy/Paste, speichern, starten.
In der Console siehst du dann die URLs. Z.B.:
Code21:31:41 Your possible urls are: 21:31:41 http://172.16.0.106/script/5/kamin?zuend <-- for relays 1,0,1 21:31:41 http://172.16.0.106/script/5/kamin?aus <-- for relays 1,1,1 21:31:41 http://172.16.0.106/script/5/kamin?breit <-- for relays 1,1,0 21:31:41 http://172.16.0.106/script/5/kamin?schmal <-- for relays 0,1,1 21:31:41 http://172.16.0.106/script/5/kamin?flammeplus-7 <-- for relays 1,0,0 replace 7 with 1 to 12 21:31:41 http://172.16.0.106/script/5/kamin?flammeminus-7 <-- for relays 0,0,1 replace 7 with 1 to 12
(Die IP und die Zahl hinter script/ sind bei dir anders).
Mit diesen URLs kannst du dann den Kamin steuern (kannst du im Browser testen).
zuend, aus, breit, schmal sind selbsterklärend.
Bei flammeplus und flammeminus kannst du die Zahl durch Werte zwischen 1 und 12 ersetzen.
-
variablen Sekunden,
Das war damit gemeint:
verschiedenen Zeiten baue ich morgen noch ein
-
Ok, das mit den verschiedenen Zeiten baue ich morgen noch ein. Dann erkläre ich das auch.
-
Erklärung später. Bin zum Essen eingeladen.
Code
Alles anzeigenlet Config = { zuend : [1,0,1], aus : [1,1,1], breit : [1,1,0], schmal : [0,1,1], flammeplus : [1,0,0], flammeminus : [0,0,1], endpoint : 'kamin' }; function reset(data) { for(let i = 0; i < Config[data[0]].length; i++) { Shelly.call('Switch.Set', {'id':i, 'on':false}); } aw = (Config.endpoint + ' set to ' + data[0] + '. Relays state --> ' + String(Config[query])).toUpperCase(); print(aw); lock = false; } function watch (request, response) { try { if(lock) return; lock = true; duration = 1000; query = request.query; if(request.query.indexOf('-') > -1){ query = request.query.split('-')[0]; duration = request.query.split('-')[1] * 1000; } print('BEFEHL ' + query + ' DAUER ' + duration + ' SEKUNDEN'); for(let i = 0; i < Config[query].length; i++) { true_false = false; if(Config[query][i] === 1) true_false = true; Shelly.call('Switch.Set', {'id':i, 'on':true_false}); } aw = (Config.endpoint + ' set to ' + request.query + '. Relays state --> ' + String(Config[query])).toUpperCase(); aw += ' DAUER ' + duration/1000 + ' Sekunden'; send_response(response, aw); Timer.set(duration,false,reset,[query,response]); } catch(e) {lock = false; print(e.message)}; } function send_response(response, body) { response.code = 200; response.body = body; response.send(); } function main() { try { ip = Shelly.getComponentConfig('wifi').sta.ip; id = Shelly.getCurrentScriptId(); HTTPServer.registerEndpoint(Config.endpoint, watch); print('Your possible urls are:'); for (var key in Config) { if(key != 'endpoint') { if(key.indexOf('flamme') > -1) { print('http://' + ip + '/script/' + id + '/' + Config.endpoint + '?' + key + '-7' + ' <-- for relays ' + String(Config[key]) + ' replace 7 with 1 to 12'); } else { print('http://' + ip + '/script/' + id + '/' + Config.endpoint + '?' + key + ' <-- for relays ' + String(Config[key])); } } } }catch(e){lock = false; print(e.message)}; } let lock = false; Timer.set(2000,false,main);
-
Ok, kümmere mich...
-
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.