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.
-
Kein Problem. Wenn folgendes Testskript die Zündung (1,2,3 geschlossen für 1 Sekunde) startet, lohnt sich, das weiter zu verfolgen:
function 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();
Alles anzeigen
-
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.
-
Ist den damit auch das print-Problem in Skripten gelöst. Habe z.Z. nur einen Gen3, den ich nicht mit neuer FW versauen will.
Evtl. hat ja schon jemand getestet.
-
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:
function 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);
Alles anzeigen
-
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?
-
Hier ist noch ein Beitrag von dem, wo eine .zip zum Download angehängt ist. Interessant ist, welche Usernamen in dem Skript genannt sind.
Admin
@66er
Da war doch was!!!
-
-
1.2.2 stable ist soeben verfügbar.
Print geht wieder, droped aber immer noch Teile bei längeren Ausgaben.
-
eiche Der sinnlose Abschnitt Zeilen 19 bis 25 stammt aus meiner Antwort auf die Ursprungsfrage des TE. Sollte nur die Frage beantworten.
Mast25 Die Hilfe könnte viel effizienter erfolgen, wenn du preisgibst, was du eigentlich vorhast.
-
Bitte erstellt ein Ticket. Je mehr Tickets, desto schneller wird das behoben.
-
Mal wieder ein absolutes Chaos. Nach Ubdate von 1.2.2 auf 1.2.1 geht der print Befehl im Skript gar nicht mehr.
Selbst ein einfaches:
macht keine Ausgabe mehr.
Werksreset bring keine Besserung, andere FW Versionen sind nicht OTA verfügbar. Getestet auf Mini1G3.
KOTZ

EDIT:
Nachdem das nun bestätigt ist:
Bitte erstellt ein Ticket. Je mehr Tickets, desto schneller wird das behoben.
-
Um den Status abzufragen:
function wetter() {
print("funktion wetter wird ausgeführt");
status = Shelly.getComponentStatus('input:0').state;
print(status);
}
wetter();
Was du da überhaupt mit einem Eventhandler willst, erschließt sich mir nicht.
Der Fehler tritt auf, weil du jedes mal, wenn wetter aufgerufen wird, einen neuen Eventhandler hinzufügst.
-
Virtuelle Komponenten sind benutzerdefinierte 'Blöcke', denen du Eigenschaften und Werte zuordnen kannst. Mit Addons hat das erst einmal nichts zu tun.
Wenn man so will, sind Addons 'echte' Komponenten und werden von der Shelly Software bei Vorhandensein von Sensoren automatisch erzeugt.
Hier gibt es mehr zu virtuellen Komponenten.
Zu 'Namen eingeben': Probiere doch einfach aus, was passiert, wenn du da etwas eingibst. Nutze die App selbst nicht, aber dein Shelly wird schon nicht explodieren
-
sind das:
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.
Weiß nicht, was genau du meinst.
-
Auch eine Fachkraft mit Stirnlampe ist nicht in jedem Fall eine Leuchte 