Beiträge von Seven of Nine
VPN/Proxy erkannt
Es scheint, dass Sie einen VPN- oder Proxy-Dienst verwenden. Bitte beachten Sie, dass die Nutzung eines solchen Dienstes die Funktionalität dieser Webseite einschränken kann.
-
-
wenn man es schön und funktionierend haben will: Motor tauschen.
Günstige Motoren kosten zwischen 30-50 Euro. Den Funk-Motor kriegt man bestimmt noch über Ebay-Kleinanzeigen weg. alles andere mit Shelly uni und Co ist maximal ein Workaround und wird mangels Kalibrierung etc nie zu 100% funktionieren.
-
Hier mal ein Probescript, was es macht:
einen Timer anlegen, der sekündlich die unixtime vom Shelly auslist.. ist diese durch 60 Teilbar (ist bei jeder vollen Minute der Fall), dann wird eine externe URL aufgerufen.
Anpassen müsstest du die URL in Zeile 8
Hab das grad mal mit meiner Küchenbeleuchtung getestet, klappt. -
Native language (German) is obviously not allowed in this thread - but I could easily write in both languages!
I know
Problem ist verstanden, jetzt hat es Klick gemacht.
Ich antworte auch mal auf deutsch, weil es in englisch schwieriger zu erklären ist: Einen minütlichen Timer zu starten, der einen Webhook emuliert und ein Relais in einem Remote-Shelly anspricht ist grundsätzlich erstmal kein Problem.
Hauptproblem wäre hier den extakten Zeitpunkt zu treffen, damit der eben in Sekunde 59,9 läuft. Ich hab aber zumindest eine Idee, wie man das eventuell lösen kann.
Ein weiteres Problem wird allerdings bestehen bleiben: Netzwerk-Latenzen machen es quasi unmöglich die Uhr zu 100% synchron schalten zu lassen. das müsstest du also gezwungenermaßen in Kauf nehmen.
wenn du mit den Latenzen beim Netzwerk leben könntest, dann kann ich mich gerne am Wochenende mal hinsetzen und etwas ausprobieren.
-
-
puh, das ist verdammt schwierig zu lesen.. das Problem wird sein, dass der Timeout dafür sorgt, dass die _cb: function (result..) im weiteren zwingend ein result voraussetzt was aber im Fehlerfall nicht vorhanden ist..
was helfen könnte: die folgeverarbeitung nur dann vorzunehmen, wenn der error_code entsprechend 0 ist.
wenn du so Sachen wie console.log("rpcresult" rpcResult); dann sollten Strings und Variablen durch ein + Zeichen verbunden werden. ich würde es der Lesbarkeit halber wie folgt formatieren console.log("rpcresult: " + rpcResult);Ohne das + geht es zwar aktuell noch, aber das wird sich demnächst irgendwann ändern weil es nicht Javascript-Konform ist.
-
-
sorry for the late response.. I've created a bug report.
-
Ich will den Stromverbrauch meiner Heizung messen.
Der Shelly 1PM ist ein Schalt-Aktor mit Messfunktion. Primäre Funktion ist das Schalten und deshalb auch nicht abkonfigurierbar.
Wie @66er schon schrieb: einfach den richtigen Shelly dafür nehmen..
-
Das sind Push-Nachrichten, so wie sie von jeder anderen App auch geschickt werden.. Einfach die Push-Nachricht aus der Android-Statusleiste wegwischen.
-
Deiner zählt mit 0,01-Schritten, meiner in 0,1-Schritten.
nicht wirklich.. schau dir deinen Zähler genau an..
der hat (genau wie meiner) 3 Nachkommastellen, die letzte davon löst mit ziemlicher Sicherheit bei jeder Umrundung den Magnetkontakt aus und ist deshalb nicht erfassbar. Laut dem Bild müsste dein Startwert 1307125 sein, die Entität Gasverbrauch würde 13071,25 m³ anzeigen was auch richtig ist.
-
1TBs ist ein Einrück-Stil, also wie man Klammern und Tabs/Leerzeichen benutzt..
https://de.wikipedia.org/wiki/Einr%C3%BCckungsstil
PS: Zum eigentlichen Problem hab ich im Moment leider auch keine Idee.
-
ich hab den HA auf einem Rapsberry Pi4 laufen, meine Test-Instanz läuft auf einer Synology DS220+ in einem Docker-Container.
So sieht der von mir verwendete Impulsnehmer NI-3 direkt am Zähler aus. Je nach Hersteller sehen die entsprechend anders aus, es gibt aber Impulsnehmer für fast jeden gängigen Zähler.Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. was mir aktuell noch fehlt ist ein schickes Gehäuse für den Shelly. die passenden USB-Adapter sind vorgestern endlich geliefert worden
https://de.aliexpress.com/item/100500491…ayAdapt=glo2deu
Ich werden mich in den nächsten Tagen / Wochen hinsetzen und mit FreeCAD beschäftigen um ein Gehäuse für den 3D-Druck zu entfwerfen. Da bin ich aktuell blutiger Anfänger ..
FendiMan Startwert des Counters wäre hier die Zahl 20431, im HomeAssistant sieht es dann so aus (Screenshot kurz danach gemacht, da war der Zähler schon wieder ein paar Runden weiter)
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. -
CE hat er, eine Batterie (die war schon drin)
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. -
Was genau ist daran schwer zu lesen, ich würde die Lesbarkeit gerne verbessern.
1) Kommentare fehlen weitgehend.
2) du nutzt verschiedene Schreibweisen um Variablen zu deklarieren:
let bla = 1;
dann let blub =1, test=2, egal=3;
3) an einer Stelle ist es variable++; an anderer ist es variable = variable +1;
4) Variablen sollten sprechende Namen haben (t1 z.B. ist für mich sehr wenig sprechend)
5) status ist ein geschütztes Wort und sollte nicht als Variablen-Name genutzt werden. Mein VisualStudioCode meckert das an.
6)if ((event.delta.output === true && event.delta.id === cID && event.component === "switch:" + JSON.stringify(cID)) || (event.delta.output === false && event.delta.id === cID && event.component === "switch:" + JSON.stringify(cID)))[
ist extrem schwer zu verstehen, was ich daraus interpretiere:
- event.delta.id muss cID entsprechen
- event.component muss switch: cID sein
- event.delta.output kann true oder false sein --> muss ich das prüfen? es gibt ja bei einem Boolean sowieso nur die beiden Zustände true und false.
7) wenn du cID zu 95% als String benötigst definier es als String und konvertiere es zu einer Zahl wo es notwendig ist, das geht problemlos mit JSON.parse();
Timer.clear() braucht man eigentlich nicht, solange der Timer ein definiertes Ende hat. der zweite Parameter repeat ist ja bei dir auf false gesetzt.
Generell bevorzuge ich folgende Schreibweisen, weil sie sich im OpenSource-Bereich durchgesetzt haben.
- englische Namen für Variablen/Funktionen
- variablen werden durchgehend klein geschrieben
- KONSTANTEN werden durchgehend groß geschrieben
- Funktionen werden in camelCase Schreibweise benannt.
- Einrückungen/Klammersetzungen erfolgen nach 1TBs-Standard
aber am allerwichtigsten ist: mach dir ein Bier auf und nimm dir das bitte nicht zu Herzen, meine Scripts sind da oft nicht viel besser und sehen für Außenstehende auch grauselig aus
Probier bitte mal die Timer.Clear() zu entfernen, möglicherweise ist das schon ein Grund für die Fehler.
-
Wie ist der erste Eindruck. Leicht einzubinden, Lautstärke passt.
ja, mit den ersten war es eigentlich sehr einfach (wie mit jedem Shelly). den gestern gelieferten hab ich aber mangels Zeit noch nicht konfiguriert.
Er ist genauso laut wie meine alten, herkömmlichen Rauchmelder.
-
ich hab mir das Script heute morgen mal eine halbe Stunde lang angeschaut, ich finde es extrem schwierig zu lesen und verstehe die gewünschte Logik dahinter nicht ganz.
vermuten würde ich, dass du irgendetwas verzögert an oder ausschalten willst?
let cID = 0; wenn du darauf ein let cID = '0'; machst dann hast du direkt einen String und kannst dir die ganzen JSON.stringify sparen..
-
Batterien dürfen aus Sicherheitsgründen von Bulgarien nicht mitgeliefert werden.
Hab heute erst eine Lieferung bekommen, da war eine Batterie drin
-
Der (äußerlich) baugleiche von Heiman hat ja eine.
tatsächlich ist der nicht nur äußerlich baugleich sondern (vermutlich) innen drin auch
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. -