Vielen Dank für den Link
Beiträge von Heinz2
-
-
Hallo zusammen,
ich habe ein Problem mit meinem Shelly 2.5, der in den letzten Tagen nur noch gelegentlich erreichbar ist.
Das Problem begann, nachdem ich einmal die Sicherung ausgeschaltet und wieder eingeschaltet habe.
Davor hatte der Shelly ungefähr 2 Jahre lang reibungslos funktioniert.
Muss ich den Shelly möglicherweise ersetzen oder hat jemand von euch eine Idee, was ich tun könnte?
Hier sind einige Einträge aus dem Logbuch von Home Assistant:
-
Seven of Nine hab deine Lösung auch nochmal getestet, funktioniert jetzt auch bei mir!
Vielen Dank dafür!
-
Ach das wusste ich nicht, schade. Dann muss ich es leider anders lösen.
Vielen Dank für deine Antwort!
-
Ich habe dieses Script auch einmal probiert, es gehen aber nur die ersten 4 Rollladen.
Die anderen hinterlegten IP Adressen machen keinen mucks.
Hab auch single push durch double push ersetzt.
Bin ich einfach nur zu blöd oder ist da ein kleiner Bug im Programm?
Code
Alles anzeigenlet CONFIG = { ip: '192.168.178.29', // Remote Shelly (master) to check current state which can be stop or moving input1: 3, // Input for first direction btnevent1: 'double_push', // input event for first direction direction1: 'open', // direction input2: 2, btnevent2: 'double_push', direction2: 'close', }; // additional Shutters let shutters = [ '192.168.178.36', // Rollladen Küche Öst rechts '192.168.178.15', // Rollladen Büro '192.168.178.26', // Rollladen Garderobe '192.168.178.30', // Rollladen Esszimmern Balkontüre '192.168.178.33', // Rollladen Esszimmern Schiebetüre '192.168.178.34', // Rollladen Küche Süd '192.168.178.35', // Rollladen Küche Balkontüre '192.168.178.37', // Rollladen Küche Öst links '192.168.178.45', // Rollladen Speisekammer '192.168.178.46', // Rollladen Bad EG ]; // CONFIG END function getCurrentState(ip, direction) { print(direction); Shelly.call( "http.get", { url: 'http://' + ip + '/roller/0' }, function (res, error_code, error_message, direction) { print(direction); if (res.code === 200) { let st = JSON.parse(res.body); if (st.state === 'stop') { controlShutter(CONFIG.ip, direction); print("move shutter"); for (let i=0; i<shutters.length; i++) { controlShutter(shutters[i], direction); } } else { controlShutter(CONFIG.ip, 'stop'); print("stop shutter"); for (let i=0; i<shutters.length; i++) { controlShutter(shutters[i], 'stop'); } } } }, direction ); }; // no need to change anything below this line.. // add an evenHandler for button type input and single push events Shelly.addEventHandler( function (event, user_data) { //print(JSON.stringify(event)); if (typeof event.info.event !== 'undefined') { if (event.info.id === CONFIG.input1 && event.info.event === CONFIG.btnevent1) { getCurrentState(CONFIG.ip, CONFIG.direction1); } else if (event.info.id === CONFIG.input2 && event.info.event === CONFIG.btnevent2) { getCurrentState(CONFIG.ip, CONFIG.direction2); }else { return true; } } else { return true; } }, ); // query a remote shelly and determine if next step is open, stop or close // send shutter command function controlShutter(ip, command) { Shelly.call( "http.get", { url: 'http://' + ip + '/roller/0?go=' + command }, function (response, error_code, error_message, ud) { }, null ); };
-
Dann bin ich erstmal raus, kann zu Zeit nicht testen.
SebMai: Dein Programm läuft fehlerfrei
Seven of Nine Dein Programm macht bei mir Probleme. Da das andere aber tut ist das nicht so schlimm
Nochmal vielen Dank an Alle für die schnelle Hilfe!
-
Nach dem False Zeile 21 mal ein , setzten
Danke, Zeile 22 fehlt auch noch ein ;
Läuft aber Trotzdem nicht...
PS: Ich versuche zukünftig keine Vollzitate mehr zu verwenden
-
oder so, einfach oben die IPs in das dimmer-array eintragen
Code// Array of dimmers to be controlled let dimmer = [ '192.168.178.166', // dimmer controlled with button 0 '192.168.178.240', // dimmer controlled with button 1 ];
für zwei Dimmer2 hab ich das grad mal getestet, für den Input 2 und 3 müsstest du einfach weitere Zeilen einfügen.
Auch Dir vielen Dank für die Antwort.
Bekomme das Programm nicht zum laufen:
// Array of dimmers to be controlled
let dimmer = [
'192.168.178.16', // dimmer controlled with button 0
'192.168.178.18', // dimmer controlled with button 1
];
// CONFIG END
let dimstate = [
false,
false,
false,
false
]
// add an evenHandler for button type input and various push events
Shelly.addEventHandler(
function (event) {
//print(JSON.stringify(event));
if (typeof event.info.event !== 'undefined') {
let i = event.info.id;
if (typeof dimmer[i] !== 'undefined') {
if (dimstate[i] === true && event.info.event === 'btn_up') {
dimstate[i] = false;
print("release");
Shelly.call(
"http.get", {
url: 'http://' + dimmer[i] + '/light/0?dim=stop'
},
function (response, error_code, error_message, ud) { },
null
);
}
if (event.info.event === 'single_push') {
Shelly.call(
"http.get", {
url: 'http://' + dimmer[i] + '/light/0?turn=toggle'
},
function (response, error_code, error_message, ud) { },
null
);
} else if (event.info.event === 'double_push') {
Shelly.call(
"http.get", {
url: 'http://' + dimmer[i] + '/light/0?turn=on&brightness=100'
},
function (response, error_code, error_message, ud) { },
null
);
} else if (event.info.event === 'long_push') {
dimstate[i] = true;
print("cycle");
Shelly.call(
"http.get", {
url: 'http://' + dimmer[i] + '/light/0?dim=cycle'
},
function (response, error_code, error_message, ud) { },
null
);
} else {
return true;
}
}
} else {
return true;
}
},
);
-
Wollte erst fragen wie es zu geordnet wird, aber hab es nun verstanden.
Da sieht man halt wer mehr Ahnung davon hat
PS bei deinem Original Script reagiert der Dimmer bei Long_push auf jede Taste, da fehlt das REMOTE.input.
Danke, das erklärt einiges
-
Morgen
hier das script
JavaScript: DimmerCycleModified
Alles anzeigen/** * @copyright shelly-tools contributors * @license GNU Affero General Public License (https://www.gnu.org/licenses/agpl-3.0.de.html) * @authors https://github.com/shelly-tools/shelly-script-examples/graphs/contributors * @modified SebMai * short_press = on/off toggle * double_press = on with 100% * long_press cylce */ // CONFIG START let REMOTE = { //first device/button 1 ipone: 34, //only the last two/three numbers inputone: 0, //second /delete if not required iptwo: 35, inputtwo: 1, //third /delete if not required ipthree: 36, inputthree: 2, // fourth /delete if not required ipfour: 37, inputfour: 3, }; let url = 'http://192.168.178.'; //change to your ip, without the last two/three numbers // CONFIG END let dim = false; Shelly.addEventHandler( function (event, user_data) { if (typeof event.info.event !== 'undefined') { if (dim === true && event.info.event === 'btn_up' && event.info.id === REMOTE.inputone) { dim = false; setdevice(''+str(REMOTE.ipone)+'/light/0?dim=stop');} //second /delete if not required if (dim === true && event.info.event === 'btn_up' && event.info.id === REMOTE.inputtwo) { dim = false; setdevice(''+str(REMOTE.iptwo)+'/light/0?dim=stop');} //third /delete if not required if (dim === true && event.info.event === 'btn_up' && event.info.id === REMOTE.inputthree) { dim = false; setdevice(''+str(REMOTE.ipthree)+'/light/0?dim=stop');} //fourth /delete if not required if (dim === true && event.info.event === 'btn_up' && event.info.id === REMOTE.inputfour) { dim = false; setdevice(''+str(REMOTE.ipfour)+'/light/0?dim=stop');} if (event.info.event === 'single_push' && event.info.id === REMOTE.inputone) { setdevice(''+str(REMOTE.ipone)+'/light/0?turn=toggle');} //second /delete if not required if (event.info.event === 'single_push' && event.info.id === REMOTE.inputtwo) { setdevice(''+str(REMOTE.iptwo)+'/light/0?turn=toggle');} //third /delete if not required if (event.info.event === 'single_push' && event.info.id === REMOTE.inputhree) { setdevice(''+str(REMOTE.ipthree)+'/light/0?turn=toggle');} //fourth /delete if not required if (event.info.event === 'single_push' && event.info.id === REMOTE.inputfour) { setdevice(''+str(REMOTE.ipfour)+'/light/0?turn=toggle');} else if (event.info.event === 'double_push' && event.info.id === REMOTE.inputone) {setdevice(''+str(REMOTE.ipone)+'/light/0?turn=on&brightness=100');} //second /delete if not required if (event.info.event === 'double_push' && event.info.id === REMOTE.inputtwo) {setdevice(''+str(REMOTE.iptwo)+'/light/0?turn=on&brightness=100');} //third /delete if not required if (event.info.event === 'double_push' && event.info.id === REMOTE.inputthree) {setdevice(''+str(REMOTE.ipthree)+'/light/0?turn=on&brightness=100');} //fourth /delete if not required if (event.info.event === 'double_push' && event.info.id === REMOTE.inputfour) {setdevice(''+str(REMOTE.ipfour)+'/light/0?turn=on&brightness=100');} else if (event.info.event === 'long_push' && event.info.id === REMOTE.inputone) {dim = true; setdevice(''+str(REMOTE.ipone)+'/light/0?dim=cycle');} //second /delete if not required if (event.info.event === 'long_push' && event.info.id === REMOTE.inputtwo) {dim = true; setdevice(''+str(REMOTE.iptwo)+'/light/0?dim=cycle');} //third /delete if not required if (event.info.event === 'long_push' && event.info.id === REMOTE.inputthree) {dim = true; setdevice(''+str(REMOTE.ipthree)+'/light/0?dim=cycle');} //fourth /delete if not required if (event.info.event === 'long_push' && event.info.id === REMOTE.inputfour) {dim = true; setdevice(''+str(REMOTE.ipfour)+'/light/0?dim=cycle');} else { return true; } } else { return true; } },); // send dimmer control function setdevice(command) { Shelly.call( "http.get", { url: url+command }, null ); }; function str(text) { return JSON.stringify(text); }
Vielen Dank dafür, funktioniert super!
Du hast einmal inputhree statt inputthree geschrieben, das musste ich noch ändern. i
-
Danke für deine Antwort.
Freue mich schon auf die dritte Version
-
Das ist das Script welches ich verwenden möchte.
Double Push Befehl habe ich gelöscht, da ich diesen Befehl für die Rollladensteuerung verwenden möchte
IP: 192.168.178.161 möchte ich dann mit input 2 steuern usw.
let REMOTE = {
ip: '192.168.178.160',
input: 1,
};
// CONFIG END
let dim = false;
// add an evenHandler for button type input and various push events
Shelly.addEventHandler(
function (event, user_data) {
//print(JSON.stringify(event));
if (typeof event.info.event !== 'undefined') {
if (dim === true && event.info.event === 'btn_up' && event.info.id === REMOTE.input) {
dim = false;
print("release");
Shelly.call(
"http.get", {
url: 'http://' + REMOTE.ip + '/light/0?dim=stop'
},
function (response, error_code, error_message, ud) {},
null
);
}
if (event.info.event === 'single_push' && event.info.id === REMOTE.input) {
Shelly.call(
"http.get", {
url: 'http://' + REMOTE.ip + '/light/0?turn=toggle'
},
function (response, error_code, error_message, ud) {},
null
);
} else if (event.info.event === 'long_push') {
dim = true;
print("cycle");
Shelly.call(
"http.get", {
url: 'http://' + REMOTE.ip + '/light/0?dim=cycle'
},
function (response, error_code, error_message, ud) {},
null
);
} else {
return true;
}
} else {
return true;
}
},
);
-
Hallo an alle,
ich möchte mit meinen Shelly I4 mit alle 4 Eingängen jeweils einen Dimmer steuern.
Bisher war mein Plan dazu jeweils ein Script laufen zu lassen. Da die Script Funktion leider auf 3 Scripte beschränkt ist, geht der Plan leider nicht auf.
Auch der Versucht die Scripte in einem Editor untereinander laufen zu lassen hat nicht funktioniert.
Kann mir jemand bitte erklären wie ich das machen kann? oder Funktioniert das so nicht?
-
oder richtig abdichten und mit Wasser befüllen, dann hast eine flüssig Kühlung??zur Sicherheit: ES IST EIN SPAß, NICHT MACHEN
Ich würde sie erstmal einbauen und beobachten, wenn es Probleme gibt etwas überlegen.
?
Dann beobachte ich alles mal. Vielen Dank an alle für eure Tipps
-
Vielen Dank für Eure Antwort.
Genau, es Handel dich in die Kaiser Elektrodosen.
Ich möchte es erstmal ohne externe Kühlung Versuchen. Bedeutet die zwei Shellys sind luftdicht abgeriegelt. Durch den ausreichenden Platz hoffe ich dadurch keine Probleme zu bekommen. Die Kühlrippen sollen auch nicht aktiv kühlen sondern nur verhindern das die Shellys sich Gegenseitigkeit aufheizen.
-
Hallo an alle,
Ich bin aktuell dabei einige Dimmer zu verbauen und teilweise packe ich zwei Dimmer in eine UP Dose. Platz habe ich genug da es sich um die Dosen mit separatem Fach handelt. im der Dose haben die Dimmer zwar genug Platz, liegen aber doch aufeinander auf.
Jetzt habe ich die Idee, kleine Aluminium Kühlkörper als Abstandshalter dazwischen zu klemmen.
Kann das funktionieren oder wird es dadurch schlimmer?
Z.B.
https://www.amazon.de/FTVOGUE-K%C3%B…3%B6rper&sr=8-6
Was könnte ich sonst als Abstandshalter nehmen?
-
Hallo an alle,
Long press ist ja technisch beim Dimmer 2 nicht möglich da dadurch ja die Dimmfunktion gesteuert wird. Gibt es hier Alternativen die funktioniert? Doppel Klick oder Ähnliches?
Würde gerne damit z.B. die Rolladen steuern.
-
-
Guten Morgen 66er,
die Lösung ist ja wirklich einfach, vielen Dank für den Tipp ?
-
Hallo an alle,
ich möchte einige shellys in meiner aktuellen Wohnung einrichten, damit ich sie in der neuen Wohnung direkt einbauen und verwenden kann.
In der neuen Wohnung werde ich zwei komplett neue ubiquiti access point einsetzen.
Kann ich die Access points ins aktuelle Netzwerk einbinden, die shellys einrichten und dann alles zusammen mit in die neue Wohnung mitnehmen?
Hoffe ihr könnt mir helfen.