Hallo @De kat,
hast Du mir vielleicht ein einfaches Beispiel ?
Danke.
Patrick
Hallo @De kat,
hast Du mir vielleicht ein einfaches Beispiel ?
Danke.
Patrick
Hallo Devil,
timer=0 bringt Meldung
Bad timer = 0
http://192.168.178.230/relay/0?turn=off&timer=0
Geht leider nicht.
Patrick
Hallo zusammen,
kann ich per Skript einen automatischen TIMER OFF stoppen ?
Generelle Frage, weil ich für mein Skript einen anderen Lösungsweg habe.
Ich verwende einen Timer im Skript bzw. ändere meine Logik im Skript.
Dennoch wollte ich mal nachfragen, ob jmd. eine Möglichkeit kennt diesen (vmtl.) Callback zu stoppen.
Danke.
Patrick
Hallo zusammen,
ich möchte Daten vorerst ca. 10st in einem Shelly Plus reboot-fest speichern, auf welche andere Shellys zugreifen sollen.
Erst einmal nur lesend.
Ggf. auch schreibend.
Hierbei sollen einzelne Werte oder auch mehrere Werte übergeben werden.
Geht das über KVS / Endpoint ?
Danke.
Patrick
Hallo @De kat,
Super, funzt, mega
Pro Script kann nur ein Endpoint gesetzt werden, oder ?
Patrick
Hallo
@De kat,
ja, einfache Events wie Eingang und Ausgang, jedoch kombiniert.
Da für meine Frage es einen anderen Lösungsansatz von Dir gibt, was nichts mit dem Thema hier zu tun hat,
würde ich meine Frage hier nicht weiter diskutieren, stattdessen in dem anderem Thema weiter diskutieren, zumal Du auch dort schon geantwortet hast.
Gruß
Patrick
Hallo AlexAn,
meine Frage geht in die Richtung
Script-Funktion per HTTP ausführen ?
Szenen durch Scripts ersetzen.
Speziell die von nicht Shelly Plus (Shelly UNI) auf einen unbeteiligten Shelly Plus.
Und meine Überlegung war, die Funktion auf dem Shelly Plus zur Überprüfung der Bedingungen/Statuses des Shelly UNI zu triggern.
Patrick
Hallo @De kat,
muss der Wert dann gepollt werden, oder löst ein Event/Status-Handler aus?
Patrick
Hallo zusammen,
ich habe zwei Szenen mit jeweils zwei Bedingungen für einen Shelly UNI,
welche letztendlich jeweils eine Email versenden, wenn entsprechende Bedingungen erfüllt sind.
Anschluß 1 = ZU-06-Uni
Anschluß 2 = AUF-06-Uni
Szene AUF:
===========
WENN ZU-06-Uni Ausgang=AUS einmal
und
WENN AUF-06-Uni Eingang-EIN einmal
=> E-MAIL-BENACHRICHTIGUNG: "Szene AUF"
Szene ZU:
==========
WENN ZU-06-Uni Ausgang=AUS einmal
und
WENN AUF-06-Uni Eingang=AUS einmal
=> E-MAIL-BENACHRICHTIGUNG: "ZU Garage"
.
Nun möchte ich die Szenen und deren Abwicklung in einem Shelly PLUS umsetzen.
Beim Shelly UNI hab ich ja die Möglichkeit per Aktion einen URL-Aufruf ausführen zu lassen.
Die Frage wäre nun, kann ich per HTTP einen Funktion in einem anderen Shelly PLUS ausführen und nicht per Polling ?
Um die Frage vorwegzunehmen,
die Emails anderer Shelly PLUS werden über einen Shelly_1 mit angepaßter Tasmota-FW an meinen GMX-Account per SMTP gesendet.
Vielen Dank schon mal.
Patrick
Hallo @De kat,
vielen Dank für Deine Hilfe.
Hab das ohne .bind getestet, super funzt
Dabei hab ich festgestellt,
dass ich den Timestamp welchen ich übergebe, ja beim Funktionsaufruf erzeugen muss und nicht schon beim Timer.set.
Ich Eumel.
Auf alle Fälle hab ich wieder was von Dir gelernt.
Nochmals Danke.
Gruß
Patrick
Hallo zusammen,
kann ich beim Timer.Set an die Callbackfuntion Parameter übergeben ?
z.B.
delayTimerHandlerSendMSG = Timer.set(Tms_send_Msg, false, fkt_send_message(strSub, strMsg));
Oder muss ich die Übergabewerte global in dem Skript verwenden ?
Danke zusammen.
Grüße und ein Gutes, Neues Jahr.
Patrick
Hallo Nordlicht_2023,
hallo
@De kat,
vielen Dank für Eure Antworten.
Ich steure verschiede Lampen über verschiedene Shellys an.
Ich überlege mir, wenn z.B. der in der Garage, Timer = 30min über die App eingestellt,
2 Minuten vor Timerablauf, die Lampe 2x blinken zu lassen und
1 Minute vor Timerablauf, die Lampe 1x blinken zu lassen.
Sollte nun innerhalb dieser 2 Minuten der Taster/Schalter betätigt werden, dann den Timer neu starten.
Bin noch am Anfang mit meinem Skript und von Zeit zu Zeit dran schreiben.
Daher kann es hin und wieder zu Fragen kommen, wenn ich einen weiteren Teil bearbeite.
Gruß
Patrick
Hallo zusammen,
könnte man die Timerdaten einfacher auslesen ?
Shelly.addStatusHandler(function (e) {
print("JSON-st: " + JSON.stringify(e));
if (e.component === "switch:0") {
if (e.delta.output === true) {
Shelly.call("http.get", { url:'http://127.0.0.1/relay/' + 0 },
function (result, error_code, error_message) {
//print("Result: ", JSON.stringify(result));
let jsonData = JSON.parse(result.body);
print ("Timer: ", jsonData.has_timer);
print ("Timer_duration: ", jsonData.timer_duration);
print ("Timer_remaining: ", jsonData.timer_remaining);
}
);
}
}
});
Alles anzeigen
Hallo @De kat ,
danke für die Überarbeitung.
Entschuldige, wenn ich es nicht verständlich erklärt habe.
Ich habe zwei Shelly Plus Plug S.
An beiden ist jeweils eine Lampe mit einem ON/OFF-Schalter angeschlossen.
Lampe_2 steht dauerhaft auf ON.
Mit Plug_1 möchte ich nun den Plug_2 ein- bzw. ausschalten (und somit Lampe_2 ein/ausschalten).
1. Wenn ich die Lampe_1 an Plug_1 einschalte => Plug_2 einschalten
2. Wenn ich die Lampe_1 an Plug_1 ausschalte => Plug_2 ausschalten
3. Wenn ich Plug_1 einschalte (Lampe_1 ist auf ON) => Plug_2 einschalten
4. Wenn ich Plug_1 einschalte (Lampe_1 ist auf OFF) => Plug_2 ausschalten
5. Wenn ich Plug_1 ausschalte => Plug_2 ausschalten
Das Ausstecken von Plug_1 hat selbstverständlich keine Auswirkung auf Plug_2.
Wenn ich das Script starte,
und Lampe_1 ON ist => Plug_2 wird eingeschaltet.
Wenn ich das Script starte,
und Lampe_1 OFF ist => Plug_2 wird ausgeschaltet.
Wenn das Script läuft,
und Plug_1 ausgeschalten wird => Plug_2 wird ausgeschaltet.
Die anderen Funktionen werden nicht ausgeführt.
Nun scheint es, daß das Event den Leistungswechsel nicht erkennt.
Patrick
Hallo ThomasHRO
wenn alle z.B. grün leuchten, dann siehst Du immer an dieser Stelle einen Farbunterschied, so war es zumindest bei mir.
Da ist mein blau ja noch richtig angenehm für's Auge
Patrick
Hallo @De kat
vielen Dank für die Anpassung.
Leider funktioniert es nicht, der andere Shelly wird nicht geschaltet.
Es durchläuft immer die if-Abfrage
"if (r.apower <= configOFF.powerLimit) { //Check if under Powerlimit"
und nie die if-Abfrage
"if (r.apower > configON.powerLimit && !tHandel[r.id] && !called[r.id]) { //Check if over Powerlimit"
Die if-Abfrage wird nur einmal durchlaufen
"if (Cut(e, ':')) {"
Wenn ich die Last an hab während ich das Script starte, wird die
"if (Cut(e, ':')) {"
einmal mit den folgende Werte durchlaufen/gesetzt:
e: switch:0
apower: 0.8
Patrick
Hallo ThomasHRO,
vielen Dank.
Ich dachte es ist eine separate LED.
Hab eine Retoure gestartet.
Danke Euch allen.
Patrick