Mt der neusten Firmenware kannst du in der Shelly App -> "Anwendungseinstellungen" -> die neue "Gerätekartenanpassung" aufrufen. Dort mal schauen ob man es ändern kann.
Beiträge von Viedotraum
-
-
Wenn ich das richtig verstanden habe, willst du die Temperatur in der App angezeigt haben? Dafür ist kein Script nötig.
1. Home Dashboard wählen.
2. Dashboard bearbeiten -> Neues Dashboard anlegen (Pen Symbol) -> Name z.B. Temperatur3. Shelly mit dem Add-On dem neuen Dashboard hinzufügen.
4. Burger Menü (Anpassen) wählen und alle Hacken aus.
Dann wird nur die Temperatur angezeigt.
-
Hello,
This script can be used to control one or more Roller at the same time.
The script must still be adapted for the SHELLY PRO DUAL COVER/SHUTTER PM. The ID must still be specified.
Cover | Shelly Technical DocumentationThe Cover component handles the operation of motorized garage doors, window blinds, roof skylights etc. It uses Cover as RPC namespace and provides the methods:shelly-api-docs.shelly.cloudCode
Alles anzeigen// Script for Shelly Plus 2.5 PM //Important: The shutters must be calibrated beforehand in order to be able to approach 0 - 100% //------------------- Jalousie: On / Off / Position ------------------ // Info: // If the script controls itself, then: ["self"] // If there are several to control: ["Self", 192.168.xxx.xxx] let CONFIG = {coverControlDevices: ["self"]}; // Examples // let CONFIG = {coverControlDevices: ["self","192.168.90.154"]}; // let CONFIG = {coverControlDevices: ["192.168.90.153","192.168.90.154"]}; function openCloseOrSetPositionAllRollers(openClosePosSet) { // Call: 50, "open", "close" for (let device of CONFIG.coverControlDevices) { //print ("Call Beschattung Start Motor", openClosePosSet, " %"); // +++++ This Device +++++ if (device == "self") { if(isNaN(openClosePosSet)){ // is not a number Shelly.call( "Cover." + openClosePosSet, // oder "Cover."Close"" { id: 0 }, function (response, error_code, error_message) { //print(JSON.stringify(error_code)); } ); } else { // is a number Shelly.call( "Cover.GoToPosition", { id: 0, pos: openClosePosSet }, function (response, error_code, error_message) { //print(JSON.stringify(error_code)); } ); } } else { // +++++ Other Devices +++++ if(isNaN(openClosePosSet)){ // is not a number Shelly.call( "http.get", { url: "http://" + device + "/roller/0?go=" + openClosePosSet}, function (response, error_code, error_message, ud) { //print(JSON.stringify(error_code)); }, null ); }else{ // is a number Shelly.call( "http.get", { url: "http://" + device + "/roller/0?go=to_pos&roller_pos=" + openClosePosSet}, function (response, error_code, error_message, ud) { //print(JSON.stringify(error_code)); }, null ); } } } } // CALL: openCloseOrSetPositionAllRollers("close"); // Examples: // openCloseOrSetPositionAllRollers("open"); // openCloseOrSetPositionAllRollers("50"); // 0 - 100
-
Du meinst ?
[Press Button / Start = On] < 30 Sek. > [Ende = Off]
----------------------------------------------------------------------------------------------------------------------------------------- > Time
(is On) <10 Sek.> [Press Button / Start = On] < 30 S > [Ende = Off]
Wäre hach dem Beispiel 40 Sek. dann On.
habe ich das Richtig verstanden?
-
Habe es hinbekommen.
Auf der HomeBridge -> PlugIn: {Homebridge Webhooks} installiert.
Einen Schalter hinzufügen und dieser wie unten angezeigt einrichten.
Code"webhook_port": "51828", "switches": [ { "id": "UrlaubSwitch", "name": "Jalousie Urlaub", "on_method": "GET", "off_method": "GET" },
Unter PlugIns -> Homebridge Webhooks -> :
Icon Schraubenschlüssel -> Bridge Einstellungen -> HttpWebHooks -> Anschalten. QR-Code mit HomeKit scannen und den Schalter hinzufügen.
Shelly Script:
Code
Alles anzeigenfunction readHomeKitSwitch() { // (HomeBridbge) HomeKit Button JALOUSIE URLAUB auslesen Shelly.call( "HTTP.GET", { url: "http://<IP_HomeBridge>1:51828/?accessoryId=UrlaubSwitch" }, function(result, error_code, error_message) { if (error_code !== 0) { print('Error'); } else { let jsonData = JSON.parse(result.body); print ("Switch Status: ", jsonData.state); // true or false } } ); }
Schalter kann nun per Script abgefragt werden.
-
Hallo zusammen,
gibt es eine Möglichkeit per Script auf einen Virtuellen Schalter, der in HomeBridge erstellt wurde, zuzugreifen? Also den Status auszulesen? On / Off?
So zum Beispiel abzufragen?
Codefunction readDummySwitch() { Shelly.call( "HTTP.GET", { url: "http://192.168.178.31/****" }, // HomeBridge IP function(result, error_code, error_message) { ...
Habe auf HomeBridge -> Homebridge Webhooks installiert. Schalter eingerichtet und auf Apple HomeKit schaltbar.
Wer von euch hat damit Erfahrungen?
-
Wäre nett wenn du deine Ausgangsfrage im Post 1 nicht einfach änderst 😎
da stand nicht Shelly 1+ und auch nicht Gen2 !
Wenn du dort etwas änderst wäre ein „Edit:“ schon toll
Und mich jetzt in meiner Antwort in Beitrag 2 so dazustellen finde ich nicht OK
Viel Spaß noch
OK, mache ich!
Hätte besser schreiben sollen: Shelly 1 Plus + AddOn.... -
Nach vielen probieren habe ich den Temperatursensor per Script auslesen können.
Code
Alles anzeigenShelly.call( "HTTP.GET", { url: "http://192.168.90.152/rpc/Temperature.GetStatus?id=100" }, function(result, error_code, error_message) { if (error_code !== 0) { print('Error'); } else { let jsonData = JSON.parse(result.body); // Hier können Sie auf die Temperaturdaten zugreifen print("DS18B20 Temperature Data:", jsonData); let temperatureCelsius = jsonData.tC; print("Temperatur (°C):", temperatureCelsius); } } );
Console:
DS18B20 Temperature Data: { "id": 100, "tC": 17.9, "tF": 64.2 }
21:53:17Temperatur (°C): 17.9
-
Ich benötige mal Eure Hilfe.
Das Script soll auf einem Shell 2PM laufen. Ich möchte von einem Shelly 1+ mit AddOn (Gen 2) den Temperaturfühler : ds18b20 auslesen.
Leider ist meiner URL Eingabe/Abfrage falsch.Wer hat so etwas schon einmal programmiert und kann mir helfen?
Code
Alles anzeigenShelly.call( "HTTP.GET", { //url: "http://192.168.90.152/rpc/SensorAddon.GetTemperature?sensor=D.temperature:100" url: "http://192.168.90.152/rpc/D.temperature:100/GetTemperature" }, function(result, error_code, error_message) { if (error_code !== 0) { print('Error'); } else { let response = JSON.parse(result.body); let temperature = response.value; print("Temperature: " + temperature + " °C"); } } );
Die Ausgabe in der Console: Temperature: undefined °C
Mit: url: "http://192.168.90.152/rpc/SensorAddon.GetPeripherals"
Zeigt er mir den Typ + Adr. an - schaffe es aber nicht die Temperatur auszulesen.