Hab diesen alten Thread gefunden.
Stimmt das noch? Und wie unterscheidet man dann zwischen Stable und Beta?
Hab diesen alten Thread gefunden.
Stimmt das noch? Und wie unterscheidet man dann zwischen Stable und Beta?
tvbshelly Danke! Aber ich möchte lediglich auf die originale Firmware updaten. Und eine Lösung finden die kompatibel zu Gen1 geräten ist. Und das ist bei /ota der Fall.
Weiß jemand wie das funktioniert?
Hallo, ich habe die gleiche Frage: HTTP Endpoint: /ota aber wie genau muss der Payload aussehen?
In der Doku ist wohl nur die Response beschrieben:
{
"status": "idle",
"has_update": false,
"new_version": "20200320-123430/v1.6.2@514044b4",
"old_version": "20200320-123430/v1.6.2@514044b4"
}
Nehmen wir das aktuelle Release der Firmware 1.7.0 als Beispiel. Installiert ist bei mir "20250520-083711/1.6.2-gc8a76e2", wenn ich die fw_id nehme und "1.6.2", wenn ich die ver nehme. fw_id und ver stammen aus einem [ip]/shelly request.
Mit einem Shelly.GetStatus request bekomme ich jetzt aktuell diese Information
"available_updates":{"stable":{"version":"1.7.0"}}
Wie sieht jetzt der GET [ip]/ota request aus,, der die Firmware auch tatsächlich updated?
Komisch ist auch, dass die stable 1.7.0 so "kurz" geraten ist. Also offensichtlich nur die ver und nicht die fw_id unter stable angegeben wird.
Ergänzung: mit [ip]/rpc/Shelly.CheckForUpdate kriege ich übrigens das hier:
Damit erweitern sich die Möglichkeiten um
4. [ip]/ota?old_version=20250520-083711/1.6.2-gc8a76e2&new_version=20250730-063208/1.7.0-gbe7545d
5. [ip]/ota?new_version=20250730-063208/1.7.0-gbe7545d
Normalerweise schon! Da der H&T aber "schlafen geht" ist das nicht möglich. Jedenfalls ist mir das seinerzeit nicht gelungen.
Ich hab's auch mit einer Aktion auf dem H&T probiert, hat aber irgendwie auch nicht funktioniert!
Ist hier zwar offtopic. Bin für Tips aber dankbar.
EDIT: Ich wusste doch, dass ich damals hier um Hilfe ersucht habe:
Hier mal ein Beispiel, für den Zugriff vom Script aus.
Ich jedenfalls, musste ein wenig tüfteln, um die Werte von meinem Shelly PLUS HT aus der Cloud zu holen.
let url = 'https://<your_server>.shelly.cloud/v2/devices/api/get?auth_key=<your_auth_key>';
let body = JSON.stringify({ids: ['<your_id>'], select: ['status']});
Shelly.call('HTTP.POST',
{url: url, body: body, timeout: 60},
function (response) {
const oResponseBody = JSON.parse(response.body);
console.log(oResponseBody[0].type);
const status = oResponseBody[0].status;
const oTemperature = status['temperature:0'];
const oHumidity = status['humidity:0'];
console.log('Temperature: ' + oTemperature.tC + ' Humidity: ' + oHumidity.rh);
}
);
Ausgabe:
sensor
Temperature 22.2 Humidity 44.9
Die Reponse ist ein Array, weil man mehrere IDs angeben kann.
1. Der Client läuft im Browser. OS ist also ziemlich egal. Der Server mit NodeJs. (v20+) ist verfügbar für viele Plattformen.
2. Smarthome Systeme wie Io-Broker oder Homeassistant werden nicht benötigt. Diese, ergänzt z.B. um OpenHab, sind Plattformen für die Integration verschiedener Protokolle / Systeme. S-Central soll einfach nur Shellies managen.
Weitere Fragen, Feedback welcome!
Danke, aber muss das dann Niederspannung sein?
So wie der hier?
https://www.livolo-deutschland.de/p/einfacher-ta…ld-vl-c701ch-13
Oder "Normal" so wie der hier?
https://www.livolo-deutschland.de/p/einfacher-ta…old-vl-c701b-13
Aus der Anleitung:
I1, I2, I3, I4: Switch/button/potentiometer
input terminals for light control
Es ist für mich einfach nicht klar, was ich da am Besten anschließe und als normalen Wandschalter / -taster verwenden kann.
Hallo, ich bin mir immer noch nicht sicher welche Art von Taster ich in der Wand verbauen soll. ![]()
Würde der hier von Bseed funktionieren um den RGBW PM zu schalten und zu dimmen?
Ich denke, der Editor mag es auch nicht, wenn während der Registrierung bereits Einträge beim "outgoing websocket" vorhanden sind.
OK, ich glaub ich hab's verstanden.
Nach dem Anschlussdiagramm wird der Taster direkt am Contoller angeschlossen und der Trafo steht unter Dauerstrom.
Wenn das nicht so ist, bin ich für einen Tip dankbar.
Hallo,
zwar habe ich diesen Post zum Them gefunden:
aber richtig schlau hat der mich nicht gemacht ![]()
Ziel:
Ich möchte meine LED Streifen schalten.
Klingt einfach! Aber ich tu mich schwer, weil ich nur 2 Möglichkeiten sehe.
Bei 1. ist WIFI zwingend notwendig, bei 2. funktioniert nix, wenn der Trafo aus ist. ![]()
Ein Dilemma! Oder? Wie geht's am Besten?
Jetzt kann ich natürlich den Trafo z.B. mit einem 1PM schalten und so von hinten durch die Brust in's Auge... Aber das kann es doch nicht sein. ![]()
BTF Lighting war für mich eine gute Wahl. Die Auswahl ist riesengroß und durch direkte Bestellung beim Hersteller (China) war es auch günstig.
Für mich waren es am Ende diese:
Kein COB aber mit 60 led / m und Diffusor echt gut.
Was die Relation von Preis und Qualität angeht kann ich nur spekulieren, dass die (meisten) deutschen Händler auch China Ware (aber deutlich teurer) verkaufen.
Und NEIN, ich bekomme keine Provision
Alle Tips hier solltest du, bei dem unübersichtlichem Angebot, als unverbindlich und ohne jegliche Relevanz betrachten.
Ich habe eine React / Nodejs Applikation für das Monitoring und die Kontrolle von Shellies entwickelt und sie als Open Source zur Verfügung gestellt.
https://github.com/akreienbring/s-central
Hier, als Einstieg, ein Auszug aus dem Github Text. Software und Release kann ab sofort verwendet werden. Über Feedback und vielleicht sogar Mithilfe würde ich mich natürlich freuen.
------------------------------
S-Central is a client (React) / server (nodejs) application to monitor and control your Shelly devices. The server collects all relevant information about your devices by using RPC calls and websocket connections. The client is a webapplication that makes monitoring and controlling your Shellies easy.
S-Central is cloudless. That means it makes you (sort of) independent from the Shelly Cloud Control Center.
The server must run in your local network and acts as a broker between your Shellies and the client application. The communication with the client is strictly websocket based.
S-Central supports English, Spanish and German.
Managing many Shellies in a network is a challenge. The original Shelly Control app is a good choice. But it is cloudbased. Hence you need an internet connection to control your devices. S-Central needs only Wifi and your local network. It is Open Source and transparent. You are welcome to participate and enhance the features.
OK! Vergiss das was ich oben geschrieben habe. Der RGBW PM ist selbst ein Bluetooth Gateway.
Evtl. ist das hier ein Ausgangspunkt für dein BLE Scanner Script:
https://www.shelly.com/de/blogs/scrip…on1-integration
Bei den RPC calls müsstest du dann mit der lokalen IP 127.0.0.1 arbeiten können.
Bsp:
http://127.0.0.1/light/0?turn=on&brightness=60
Hallo, zwar besitze ich den Shelly BLU RC Button nicht, aber wenn der so funktioniert wie die anderen BLU Button, dann brauchst du ein Gateway (wie z.b. den I4 oder 1PM) um mit einem BLE Scanner Script die Push Events auf deine RPC calls an den RGBW PM zu mappen.
Und die RPC calls werden über das WLAN gesendet.
Kurzform: Ich glaube, das was du willst geht einfach nicht. ![]()
Hi, ich kann dir hier die Basics beschreiben:
Wenn das Script startet, fügst du einen "EventHandler" hinzu
Shelly.addEventHandler(
eventCallback
);
Der Handler wertet dann die Events der Buttons aus und dort fügst du einfach deinen Code hinzu. Beispiel:
/*
Reacts on the event from a button push.
Add more reactions here for more functionality.
'id' is the id of the button (1 - 4)
'event' is the type of push (btn_down, btn_up, single_push, double_push, triple_push, long_push)
*/
function eventCallback (event) {
//log('Received Event: ' + JSON.stringify(event));
if (typeof (event.info) !== 'undefined') {
if (event.info.event == 'single_push' && (event.info.id == 1 || event.info.id == 2)){
log('button: ' + event.info.id);
};
};
}
Habe eine Frage zu Sommer- / Winterzeit.
Auch ich erzeuge mit dieser Funktion verschiedene Date / Time Formate:
function getCurrentDateTime(nType, nDateTimeInput) {
const nCurrentDateTime = (Shelly.getComponentStatus("sys").unixtime + 2 * 3600) * 1000;
let nDateTime = nDateTimeInput;
if(nDateTime == 'undefined') nDateTime = nCurrentDateTime;
const dDateTime = new Date(nDateTime);
switch(nType) {
case 1:
return nCurrentDateTime; //return as number
break;
case 2:
return dDateTime; //return as date
break;
case 3:
return dDateTime.toISOString(); //return as string
break;
case 4:
return dDateTime.toISOString().slice(0,10) + ' ' + dDateTime.toISOString().slice(11,19); //return date and time
break;
case 5:
return dDateTime.toISOString().slice(11,19); //return only time
break;
default:
log('undefined DateTime Type: ' + nType);
return 'undefined';
}
}
Problem: Das stimmt nur im Sommer
Also während der Sommerzeit. Hat jemand eine Idee wie die Umschaltung automatisch berücksichtigt werden kann?