Hallo Whity,
danke, das weiß ich.
Die Diagramme zeigen jeweils einen Zeitraum, bei dem das Licht ständig eingeschaltet war. Hätte ich vielleicht dazuschreiben sollen...
Hallo Whity,
danke, das weiß ich.
Die Diagramme zeigen jeweils einen Zeitraum, bei dem das Licht ständig eingeschaltet war. Hätte ich vielleicht dazuschreiben sollen...
Hi ggilles!
Ever tried to delay the request from the storage after start? Maye there are some internal tasks to be done before you can access the storage? Just an idea... What happens if you restart your script a second time? Is the data then valid?
Good luck!
Regards from Vienna
Christian
Der Shelly 2PM ist ein Schaltaktor mit zwei Augangskanälen zum steuern von z.B.Lampen oder Rolläden....
Wie kommst du auf die Idee dort einen Windsensor anschließen zu wollen/können?
Zum Beispiel, weil es exakt so im Lexikon steht: Shelly PLUS 2PM - Offizielles Shelly Support Forum (smarthome-forum.eu) siehe hier: Lexikon
ZitatSKRIPTING-FUNKTIONEN
- Shelly Plus 2PM verfügt über Skripting-Funktionen - nutzen Sie diese, um die Funktionalität des Geräts an Ihre spezifischen Bedürfnisse oder Ihr Automatisierungsprojekt anzupassen und zu erweitern.
- Beispiel: In Verbindung mit einem Windsensor oder einfach durch die Verwendung eines Skripts kann Shelly Plus 2PM Ihre Außenjalousien bei starkem Wind herunterfahren, um zu verhindern, dass sie zerstört werden.
LG aus Wien
Christian
Liebes Forum!
Ich betreibe seit kurzem einen Shelly Plus 2PM an meiner Wohnzimmerwand:
- Kanal 0: Licht
- Kanal 1: TV
Ich habe ein Script geschrieben, das bei Dämmerung (Danke ans Forum!) und bei eingeschaltetem TV das Licht der Wohnzimmerwand automatisch ein- bzw. ausschaltet. Aber das ist nicht Thema in diesem Post. Sollte es jemanden interessieren, poste oder sende ich es aber gerne...
Mein Problem:
Der Shelly zeigt für beide Kanäle den Momentanverbrauch als Zahlenwert korrekt an.
Bis vor kurzem hat auch das Diagramm gepasst, Screenshot Shelly Licht (Channel 0) ok.jpgaber plötzlich stimmt die Diagrammdarstellung nicht mehr! Es müssten 10Wh sein, nicht 0,xxWh: Screenshot Shelly Light (Channel 0) NOT OK.jpg
Verlassen würde ich mich darauf schon gerne können!
Was kann ich falsch eingestellt haben? Beide Kanäle sind gleich eingestellt (exclude from total account consumption, do NOT exclude from room consumption), beim zweiten Kanal ist das Diagramm scheinbar korrekt: Screenshot Shelly (Channel 1) TV OK.jpg
Rebootet habe ich schon (via App / Warmstart).
Device Mode: Switch
FW: 20220617-113003/0.10.3-g7c89a05
Weitere Fragen...
- Ich habe leider noch wenig Erfahrung hier im Forum... hoffentlich habe ich es an der richtigen Stelle gepostet!
- Soll ich es noch an anderer Stelle melden?
- Soll ich mich an den Shelly-Support wenden?
- Sind englische Posts erwünscht oder gar vielversprechender?
Liebe Grüße aus Wien
Christian
Hallo aus Wien!
Hope this helps!
Ich bin übrigens heilfroh, hier im Shelly-Forum den Hinweis auf die statische IP gefunden zu haben! Vielen Dank dafür!
LG aus Wien
Christian
Alles klar, vielen Dank! Wenn man weiß, dass das ein JSON-Objekt ist, wirkt die Notation gar nicht mehr "böse"!
Nochmals vielen Dank für Deine Hilfe!
LG aus Wien
Christian
Seven of Nine Uff... ich danke Dir vielmals! Ich habe unzählige Varianten probiert, aber auf das wäre ich nie gekommen!
Vor allem, weil kein "." vor der "[" ist... Meine Hochachtung!
Schönen Abend aus Wien
Christian
66er mich stört viel lesen nicht, das mache ich den ganzen Tag, aber probieren...? Das dauert statt Minuten oder Stunden mitunter Wochen!
Vielen Dank für Deinen Zuspruch!
LG
Christian
Seven of Nine Danke, ich bin schon ein Stück weiter, benötige aber bitte nochmals Deine Hilfe...
Mit GetStatus bekomme ich von meinem Shelly Plus 2PM diese Struktur
{
"ble":{},
...
"input:0":{"id":0, "state":false},
...
"sys":{
...
"time":"15:07",
...
},
...
}
Alles anzeigen
Mit meinem Script
// get data from a Shelly Plus 2PM
Shelly.call(
"HTTP.GET", {url: "http://192.168.x.x/rpc/Shelly.GetStatus"},
function(result, error_code, error_message, userdata){
let obj = JSON.parse(result.body);
let x;
x = obj.sys.time;
print(x);
//x = obj.input:0.id;
//print(x);
}, // function
null // userdata
)
Alles anzeigen
kann ich die einzelnen Teile parsen (z.B. "obj.sys.time"), aber ich finde nicht heraus, wie ich die Strukturangabe "obj.input:0.id" angebe, weil er erwartungsgemäß mit dem ":" ein Problem hat.
Vielen Dank im Voraus
Christian
Seven of Nine Danke, ich grab' mich 'mal durch...
Seven of Nine vielen Dank für Deine rasche Antwort!
Ich habe schon unzählige Sprachen codiert, aber Javascript war bisher leider nicht dabei.
Switch ist ein Komponente im Shelly, alle im Shelly existierenden Komponenten sind hier ebenfalls in der API-Referenz erläutert, z.b. hier:
Danke, das war mir klar (Switch = Komponente). Mein Problem ist, wie ich es parse... (sorry, ich war zu undeutlich!).
Hallo aus Wien!
Darf ich mir an diesen Thread anhängen?
Ich brauche auch gaaaanz dringend eine vollständige Doku!
Was macht zum Beispiel die()? Und kopiert mir bitte nicht den Inhalt der "Shelly Script Language Features" hierher, die habe ich mindestens 5x vor und zurück gelesen! Das Beispiel dazu bringt bei mir auch nur einen Fehler... *blond guck*
Dringend benötige ich Hilfe zu "addEventHandler" und "addStatusHandler"! Bei mir wird nie ein Event gethrowed (oje *gg*) und ich habe keine Ahnung, welche Status und welche Events es gibt, wann die kommen (sollen), etc.
Eines meiner Experimente bringt beispielsweise
{"delta":{"aenergy":{"total":0,"minute_ts":1661948459,"by_minute":[0,0,0]},"id":0},"id":0,"name":"switch","component":"switch:0"}
heraus. Woher weiß ich, was die einzelnen Werte bedeuten und wie greife ich elegant darauf zu? Geht wirklich nur händisch parsen? Ich habe es in diesem Fall anhand eines Beispieles herausgefunden, aber das war mühsam und auf das letzte "switch:0" (das "component") kann ich noch immer nicht zugreifen...
Ich fürchte jedenfalls, dass Shelly Scripts für "Bastler" etwas zu komplex sind. Schade, sind tolle Teile!
Seven of Nine 66er darf ich fragen, woher Ihr Euer scheinbar enormes Wissen genommen habt?
LG aus Wien
Christian
Herzlich willkommen im Forum
Herzlichen Dank!
Shelly Plus2PM ist ein Gen2, also andere Befehle
Siehe hier
HTTP-Request Shelly PLUS 2PM - Offizielles Shelly Support Forum
Uff... das wurde aber gut versteckt! Warum hat man das nicht hier eingefügt? Wäre für Anfänger leichter... Shelly2 – API Reference
Ich habe schon ewig hier im Forum zugebracht, um das überhaupt zu finden!
Hallo der Code ist für eine lokale Webseite und ist kein Script für das Plus-/Pro-Scriptteil. Speicher den Code in einer Datei als z.B. 4PM.htm und schon hast du die Anzeige wie im Beispiel des Bildes links oben:
Wow, sieht toll aus! Ich fand das Beispiel von Seven of Nine schon cool! Dein HTML-Code würde mich aber auch interessieren!
Hi Leute!
Bin ziemlich neu in der Shelly-Welt und habe so das eine oder andere Problem, ich hoffe, ich darf Euch künftig ein wenig quälen! Keine Sorge, als langjähriger Programmierer (Industrie- und Gebäudeautomation) suche ich zuerst immer im Forum, bevor ich frage...
Ich möchte mich auch gleich bedanken, denn ich habe hier im Forum gefunden, warum ich über Wochen hinweg ständig die Verbindung beim Shelly 3EM und auch beim neuen Shelly Plus 2PM verloren habe... einfach via Web-Interface eine statische IP setzen und gut ist es! Danke!
Nun zu meiner Frage:
Ich habe einen Shelly 3EM und einen Shelly Plus 2PM.
Beim Shelly 3EM funktionieren http://x.x.x.x/status und http://x.x.x.x/settings einwandfrei, beim Shelly Plus 2PM bekomme ich nur 'not found', da funktioniert nur http://x.x.x.x/relay/0?turn=on, etc (natürlich auch für Relay 2). Was mache ich falsch?
Firmware build ID: 20220617-113003/0.10.3-g7c89a05
Web build ID: 1.5.5-b3d94f1
Mich quälen noch unzählige Fragen zur Script-Programmierung... Warum gibt es die wichtigsten Befehle 'turn relay on/off', 'get input (switch) status', 'get power' nicht als einfache Befehle (ohne den komplizierten Umweg über JS)? Sind die Shelly nicht für diese drei wichtigsten Funktionen gemacht?
Liebe Grüße aus Wien
Christian