Warum kein Shelly Plus Add-on. Damit gehen auf jeden Fall zwei digitale Eingänge.
Warum sollte ich? Der Plus Uni hat auch zwei digitale Eingänge. Aber nur einen Eingang für einen Counter.
Warum kein Shelly Plus Add-on. Damit gehen auf jeden Fall zwei digitale Eingänge.
Warum sollte ich? Der Plus Uni hat auch zwei digitale Eingänge. Aber nur einen Eingang für einen Counter.
Ray76200 Die Frage wollte ich auch gerade in den Raum werfen.
Ich sitze ja nicht nur herum und warte auf Antworten. Bei der Recherche bin ich auf genau das Teil auch gestoßen. Ist nur die Frage: Funktioniert das auch?
Hat das schon wer im Einsatz?
Diese blaue kappe habe ich auch. Muss ich das original vorher herausnehmen und dann den reed Kontakt einbauen?
Fragen über Fragen. Ich werde mal weiter recherchieren.
Da aus Eichgründen die Uhren regelmäßig getauscht werden müssen, heißt es einfach abwarten und ggf. beim Wasserversorger nachfragen, wann Man dran ist und was verbaut wird.
Meiner wurde erst '23 getauscht. Und wenn, sollte es ja kein problem sein den reed Kontakt auf den neuen augsetzen zu lassen.
Für Wasseruhren gibt es reedkontakte bzw. Impulgeber da kann man zwar den Stand nicht auslesen aber den Verbrauch erfassen ich glaube mich daran zu erinnern das ein Impuls je Liter kommt fleißig zählen und dann rechnen. Vielleicht reicht das für deine Anwendung ja aus.
Genau das ist mein Plan. Ich denke über ein Script lässt sich da evtl sogar einrichten, dass man den Zählerstand sogar auf den aktuellen Wert setzen kann. Aber darüber mache ich mir Gedanken, wenn das Teil erst einmal läuft.
Wir reden hier im Forum doch immer mal wieder dass eigentlich die meisten User keinen der 230V-Shelly's selber installieren dürften, da kaum einer Elektriker ist => für MICH persönlich gilt diese Regel zumindest bei meiner Wasserinstallation: DAS ding greifen ich nicht an.
Das selbe gilt für mich. Ich werde Technisch nichts verändern. Ich suche eine Lösung um extern erfassen zu können. Keine gebastelt an den Leitungen, die eh Verplombt sind.
Eine Frage an euch Nerds: Ich will ja Gas und Wasser zählen können. Wieviel Counter kann ich an einen Shelly Plus Uni anklemmen? Meine Logik sagt mir, nur Einen. Oder gehen die Parallel und der Plus Uni erkennt das? Also wie bei Temp Sensoren?
Bei der Wasseruhr geht wohl nur das hier:
Okay. Über die cam bin ich tatsächlich auch schon gestolpert. Dachte aber, das es sich mit einer anderen Lösung realisierbar wäre.
hey Leute,
Bevor ich loslegen, benötige ich von euch eine Info. Kann ich mit Hilfe eine Shelly Plus Uni meine Zähler auslesen?
Beim Gaszähler bin ich mir ziemlich sicher, da dort schon die info drauf steht. Nur beim Wasserzähler benötige ich eure Hilfe.
Ich nöchte nämlich gerne als nächstes genau diese Zählerstände erfassen können.
Zitat
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.
Wenn ja, welchen sensor benötige ich, um die Impulse auslesen zu können?
Um den Rest kümmere ich nich selber und würde nur bei Problemen auf euch zurück kommen.
Erst einmal besten Dank bis hier hier,
Mfg, Marcel
Mechanoid1 Ich habe deinen Auth Key aus dem Skript entfernt.
Danke dafür. Wollte ich gerade selber machen. Da achtete man auf alles, aber übersieht dennoch was.
Danke an alle für eure Hilfe,
Mit eurer Hilfe und der von KI habe ich nun ein laufendes Script, was auch die zeitliche Steuerung unterstützt, sowie den Button, als auch push Benachrichtigung.
// Script 1 – Klingelsteuerung mit Zeitfenstern + Button-Override + Push-Szenen
// ---------- KONFIG: CLOUD & SZENEN ----------
// HIER anpassen:
const CLOUD = {
server: 'https://shelly-1-eu.shelly.cloud', // xx & Region anpassen
auth_key: 'xxx',
};
// Push-Szenen: 0 = AUS, 1 = EIN
const Scene = [
{ id: 1770235321840, msg: "input disabled" }, // AUS
{ id: 1770235253976, msg: "input enabled" }, // EIN
];
let SceneEn = true;
// ---------- ZEITFENSTER ----------
// Minuten seit Mitternacht
// Fenster 1: 12:00–15:00
// Fenster 2: 20:00–24:00 + 00:00–06:00
let TIME_WINDOWS = [
[12 * 60, 15 * 60], // 12:00–15:00
[20 * 60, 06 * 60], // 20:00–24:00
[0, 6 * 60] // 00:00–06:00
];
function getMinutes() {
let d = new Date();
return d.getHours() * 60 + d.getMinutes();
}
function isInTimeWindow() {
let m = getMinutes();
for (let i = 0; i < TIME_WINDOWS.length; i++) {
let start = TIME_WINDOWS[i][0];
let end = TIME_WINDOWS[i][1];
if (m >= start && m < end) return true;
}
return false;
}
// ---------- INPUT-STEUERUNG ----------
function toggleInpEn(id) {
Shelly.call("Input.GetConfig", { id: id },
function (res, errc, errm, id) {
if (errc) { console.log(errc, errm); return; }
Shelly.call("Input.SetConfig", { id: id, config: { enable: !res.enable } });
}, id
);
}
function enableInput() {
Shelly.call("Input.SetConfig", { id: 0, config: { enable: true } });
}
function disableInput() {
Shelly.call("Input.SetConfig", { id: 0, config: { enable: false } });
}
// ---------- PUSH-SZENEN AUSLÖSEN ----------
function sceneTrigger(i) {
if (!Scene[i]) return;
let url = CLOUD.server +
'/scene/manual_run&auth_key=' +
CLOUD.auth_key + '&id=' + Scene[i].id;
Shelly.call('HTTP.GET', { url: url },
function (resp, err, msg) {
if (err !== 0) {
print('Szene error: ', err, msg);
return;
}
let ok = JSON.parse(resp.body).isok;
print(Scene[i].msg + ", Szene wurde " + (ok ? "" : "nicht ") + "ausgelöst");
}
);
}
// ---------- EVENT-HANDLER: INPUT-ÄNDERUNGEN ----------
function inpEn(ev) {
if (ev.name !== "input") return;
if (ev.info.event !== "config_changed" || !SceneEn) return;
Shelly.call("Input.GetConfig", { id: ev.id },
function (res, errc, errm) {
if (errc) { console.log(errc, errm); return; }
sceneTrigger(res.enable ? 1 : 0);
}
);
}
Shelly.addEventHandler(inpEn);
// ---------- TIMER: ZEITFENSTER-STEUERUNG ----------
function checkTime() {
let inWindow = isInTimeWindow();
Shelly.call("Input.GetConfig", { id: 0 }, function (st) {
let enabled = st.enable;
if (inWindow && enabled) {
disableInput();
} else if (!inWindow && !enabled) {
enableInput();
}
});
}
// alle 60 Sekunden prüfen
Timer.set(60 * 1000, true, checkTime);
// einmal kurz nach Start prüfen
Timer.set(3000, false, checkTime);
print("Script 1 gestartet");
Alles anzeigen
Junge junge, verdammt viel input. Ich danke euch erst einmal dafür. Ich werde mich nun hinsetzen und gucken wie ich das umgesetzt bekomme.
Ich habe noch einmal den Anfangsbeitrag gelesen. Wozu Skripte für diesen Zweck? Dafür sind die Schedule Jobs prädestiniert.
Nicht wirklich. Per plan kann ich den eingang eben nicht deaktivieren. deshalb das Script.
Nein danke. Sowas ähnliches habe ich ebenfalls. Nur bei mir läuft das über Telegram. Aber meine Frau nutzt diesen Dienst halt nicht. Deshalb suche ich eine Möglichkeit der push Benachrichtigung.
Du hast mir den Abend gerettet. Darauf gebe ich dir einen aus. Prost 🍻
Aber vlt kannst du mir noch einmal helfen. Ist über das Script auch eine push Benachrichtigung möglich?
Heißt also, ich komme nicht herum zwei Befehle anlegen zu müssen? Toggle ist nicht möglich? Wollte das beim button mit long push verknüpfen, da die anderen schon vergeben.
Aber das muss ja dann über ein Script laufen, da ja vorher der Status abgerufen werden muss. Also wohl eher nicht.
Huhu Gemeinde,
Ich habe ja eine analoge Klingel, welche ich mit einem plus Uni smart gemacht habe. Läuft ja auch perfekt.
Ebenfalls laufen darauf zwei Scripte, welche den Eingang zu bestimmten Zeiten deaktiven und aktivieren.
Jetzt hätte ich aber parallel gerne noch, dass ich den Eingang mit Hilfe des shelly Button 1 deaktivieren kann. Diese kann ja http requests senden.
Wer kann mir helfen ein Script zu erstellen, welcher den http request empfängt und den eingang togglet?
Ich selber habe keine Kenntnisse und nutze eigtl nur ki dafür, was bisher auch wunderbar funktioniert hat. Allerdings stößt diese an ihre Grenzen und wir kommen nicht vorwärts.
Ich will das Thema aber nicht als erledigt ansehen, sofern mir kein Mensch bestätigt, nein, das ist nicht möglich.
Wäre also über eure Hilfe sehr dankbar.
PS. Ich nutze kein ubergeordnetes Assistent system, nur die shelly eigene app.
Mfg
Marcel
Hey Werner,
Ich habe ein Thermostat. Das läuft ja auch tadellos.
Ich möchte nur: Das Thermostat wird ÜBER einer Außentemperatur deaktiviert und UNTER einer Außentemperatur aktiviert wird.
hey leute.
Was für mich noch wichtig ist: Ist es egal auf welche shelly mein script läuft?
// Konfiguration
let upperLimit = 25; // ab dieser Temperatur Schema AUS
let lowerLimit = 20; // unter dieser Temperatur Schema EIN
let schemaID = 1727380077147; // deine Schema-ID
let thermostatOn = null; // Merkt sich den aktuellen Zustand
let sensorID = 101; // Außensensor-ID (z. B. 100)
// Temperatur prüfen
function checkTemperature() {
Shelly.call("Temperature.GetStatus", { id: sensorID }, function(result) {
if (result && result.tC !== undefined) {
let temp = result.tC;
print("Außentemperatur: " + temp + " °C");
if (temp > upperLimit && thermostatOn !== false) {
Shelly.call("Schedule.Update", { id: schemaID, enable: false });
thermostatOn = false;
print("Schema AUS (über " + upperLimit + " °C)");
} else if (temp < lowerLimit && thermostatOn !== true) {
Shelly.call("Schedule.Update", { id: schemaID, enable: true });
thermostatOn = true;
print("Schema EIN (unter " + lowerLimit + " °C)");
} else {
print("Keine Änderung – Zustand bleibt erhalten");
}
} else {
print("Keine Temperaturdaten verfügbar");
}
});
}
// --- Startprüfung beim Booten ---
checkTemperature();
// --- Regelmäßige Prüfung alle 5 Minuten ---
Timer.set(300000, true, checkTemperature);
Alles anzeigen
Die pro habe ich mir mal vor Jahren gekauft.
Richtig. Ging ja um ein und die selbe Sache. Macrodroid ist einfsch mächtiger und macht es mir einfacher Bedingungen zu setzen.
Und die URL in den einstellungen? Komplett, oder nur bis zum letzten / ?
Okay. Bekomme jetzt als Ausgabe "wrong device Id". Wieviel stellen hat deine id? Hmm
So. Habe es jetzt zum laufen bekommen. Habe nicht drauf geachtet, dass du nicht die komplette URL eingetragen hast, sondern erst ab der id.
Jetzt lqufts auch bei mir. Danke für deine Hilfe.
Sonst noch irgendwelche Eingaben? Bei den Parametern hast du nichts? Wie sieht's im ersten Reiter aus? Wenn ich alles leer lasse und nur die komplette URL eintrage, passiert nichts.
So. Habe mir mal die Antwort in eine Datei schreiben lassen.
Die Antwort kommt, wenn ich die Parameter in "Header Parameter" eintrage.
Zitat{"isok":false,"errors":{"invalid_header":"Unauthorized! Wrong authorization header provided!","invalid_token":"The login information is invalid! Please login again!"}}
Wenn ich die Parameter in "parameter abfragen" eintrage, kommt diese Antwort:
Zitat{"isok":false,"errors":{"wrong_channel":"Could not control this relay channel!"}}
Ich bin also nicht untätig 😁
Habe vergessen zu erwähnen. Den Inhaltskörper habe ich folgendermaßen eingestellt.
Und ja, ich hatte macrodroid immer mal wieder installiert. Experimentiert.
SebMai ich habe Zeit. Ich warte gerne. Vlt findest du ja meinen Fehler 😁
Definiere "mehr Möglichkeiten". Du meinst mit macrodroid? Oh ja. Wunder das du es nicht kennst.