Beiträge von eiche

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.

    Nein, der Shelly Plus 2 (PM) kann ausschließlich 230V schalten. Das täte deine TV-Fahr-Elektronik zerstören.

    Deshalb brauchst du einen/zwei Shellies, die potentialfrei schalten können wie die Shelly Plus 1.

    Ein Shelly Pro 2 (Hutschienenmontage) ginge auch afaik ... ich sehe mal nach.

    Edit:

    Ja, ein Shelly Pro 2 ginge auch, weil der potentialfrei schaltet und somit, wie auch der Shelly Plus 1, per Relais genau das tut, was du zum testen mit dem Brücken tatest.

    Vorteile:

    1. Pro 2 hat zwei Relais, weshalb du nur ein Gerät bräuchtest.
    2. Er hat auch einen LAN-Anschluss - kann auch WLAN.

    Nachteile:

    1. Er ist etwas teurer als zwei Plus 1.
    2. Er passt in keine Unterputzdose.

    El. Spannungen können immer auftreten, bei Belastung sollte diese Spannung einbrechen.

    Dies nun genauer zu analysieren, erscheint mir nicht zielführend.

    Sind deine Brücken verlässlich, d.h. sicher verbunden?

    2 auf 6 sollte nach bisherigen Erkenntnissen ebenfalls etwas bewirken.

    Deine Spannungsmessung zwischen 1 und 2: Welche Polarität. d.h. Wo ist der Pluspol - auf 1 oder auf 2?

    Wenn der Lift in Endstellung ist kann er ja nur in eine Richtung fahren. Also bitte auch mal Richtung Mitte fahren!

    Ja, schließe mich Schubbie an.

    3,7 V Gleichspannung passt zur Versorgung eines Mikrocontrollers, wie bspw. ESP8266 oder ESP32.

    Und die schalten an ihren Ausgängen ähnliche Potentiale bzw. GND.

    Gleichspannungen?

    6 und 7 dürften Eingänge zum steuern sein. Deshalb ist es naheliegend, dass sich an diesen nichts ändert, solange du dort nichts anschließt.

    Wenn ich vor diesem Problem stünde, täte ich verzweifelt mal kurzzeitig 1 bzw. 2 auf 6 bzw. 7 brücken - ein großes Risiko ist damit vermutlich nicht verbunden.

    Benjidoggi

    Ich bin, was diesen Anschlussplan angeht zwar total unwissend, interpretiere aber folgendes.

    • 1,2 Power Connection ohne Polaritätsangabe -> Wechselspannung?
    • 3 tranceive data zur seriellen Datenübertragung - ich kenne transceive, was in beide Richtungen wäre, transmit wäre verständlich
    • 4 receive data zur seriellen Datenübertragung
    • 6 Control the up direction, ok - aber wie?
    • 7 Control the down direktion, dito

    Insgesamt erschient mir das eine unsachgerechte, dilettantische Beschreibung zu sein.

    Das hilft dir leider vermutlich nicht weiter, wirft aber ein negatives Bild auf den Hersteller/Lieferanten.

    In the past I sometimes had a problem that the Shelly Generation 1 did not recognize a newer firmware.

    The following steps fixed this problem.

    1. Back to firmware configuration.
    2. Connect Shelly to WLAN.
    3. Enabling Cloud Access.
    4. Shelly restart.

    Then the Shelly recognized the new firmware and ran the update.

    Mysterious, but it worked.

    Then I disabled cloud access.

    I don't know if this will help you.

    Ja, die MQTT-Nachrichten werden völlig unabhängig voneinander gesendet.

    Auf dem Shelly muss dafür nur MQTT aktiviert werden, per üblicher Konfiguration.

    Ich mag dieses Skripten, weil damit sehr viel unmittelbar auf dem Shelly, zunächst ohne eine Zentrale, abgearbeitet werden kann.

    Wenn man programmieren kann, bietet dies die zu einem Projekt besonders flexibel anpassbare Implementation.

    Eine Zentrale, soweit vorhanden, kann sich um weiteres kümmern, sie muss auf diese Weise aber kaum etwas zusätzliches tun.

    Ich nutze bspw. für die Regelung von Heizkörperventilen Shelly Plus 1 mit AddOn und Skript. Der Shelly nimmt ausschließlich Einstellungen entgegen und regelt eigenständig, was eine hohe Funktionssicherheit bietet. In Node-RED baue ich dazu ein gewünschtes Dashboard zur Handhabung. Das kann kein fertiges System so bieten, wie wir es haben wollen.

    Es gibt aber viele, die nicht programmieren wollen bzw. können. Dann gelingt es so nicht.

    Ok, alles verständlich.

    Ich hatte zumindest zwischen den Zeilen dem TE angeboten, für ihn eine auf sein Projekt zugeschnittene Webseite zusammenzustellen.

    Dies täte ich nun auf Basis meiner kürzlich erstellten Webseite schedjob.html.

    Damit wäre das Anlegen sowie bei Bedarf Ändern der beiden Schedule Jobs auch für einen Laien durchführbar, eine entsprechende Anleitung vorausgesetzt.

    Mal abwarten, was noch vom TE kommen wird.

    Interessante Bestandteile ...

    Ich täte hierin noch ein paar kleine Optimierungen unterbringen.

    Frage:

    Wozu Zeile 55, deren Resultat ungenutzt bleibt und deren Abarbeitung gar zu einem Laufzeitfehler führen kann?

    Insgesamt relativ aufwändig, aber immerhin alleine bereits (vermutlich) funktionstüchtig, also ohne Scheduler.

    Demzufolge kann ein Nutzer dieses Skript ohne eigene Kenntnisse schlicht kopieren und einfügen - gewissermaßen "marktgerecht". ;)

    Hierbei wird der Betriebssystem interne Scheduler und dessen Leistungsfähigkeit nicht genutzt.

    Du willst also die Energie bei negativen Leistungswerten für eine gewisse Dauer erfassen.

    Ich hatte davon zunächst eine andere Vorstellung ...

    Da ich derzeit keine solche Anlage besitze, kann ich nur assistieren.

    Frage: Woraus ergibt sich die vom Shelly gelieferte Information zur Energie?

    Ich vermute, dass aenergy hierfür nicht genutzt werden kann.

    Das Prinzip sollte folgendermaßen gelingen.

    Man erstellt einen Eventhandler, in welchem man das Ereignis mit den gewünschten Daten selektiert.

    Das eintreffende Event liegt in einem Objekt vor, welches man sich anzeigenlassen kann, um dessen Struktur zu analysieren.

    Es sind sowohl die Leistung (Komponente apower) als auch der Zeitstempel (Komponente ts = timestamp) zu nutzen

    Dies kann allerdings nicht genau sein, da hierbei nur Mittelwerte genutzt werden.

    Verbesserungsansatz (wäre zu testen, muss nicht zwingend funktionieren):

    Man definiert eine sog. Epsilon-Umgebung vor dem Wert 0, per

    let Epsilon = 1; // in Watt

    Liegt apower innerhalb dieser Umgebung, wird ts in Timestamp gespeichert.

    if(p<0 && p>-Epsilon) Timestamp = ts;

    Zu negativen apower-Werten wird jeweils die Energie wie oben berechnet und in Overage gespeichert.

    Sobald apower wieder innerhalb der Epsilon-Umgebung liegt oder positiv ist, wird der gespeicherte Overage-Wert gesendet.

    Ich kann dies derzeit nicht testen, voraussichtlich in 2024. ;)

    Der Epsilon-Wert ergibt sich aus realistischen apower-Werten und ist passend zur Anlage zu wählen.

    Die Genauigkeit hängt u.a. von der Abtastrate und den Änderungsschwellen zum Auslösen des Event in der Firmware ab.

    Edit:

    Eine Zeitspanne zum saldieren von Overage ist bisher nicht festgelegt.

    Hierzu wäre noch eine kleine Funktion overageReset() {Overage = 0;} einzubauen und ein Schedule Job anzulegen, welcher diese Funktion per Methode "Script.Eval" aufruft.

    Hierzu habe ich inzwischen eine Webseite erstellt, die das Anlegen eines solchen Jobs unterstützt. Das geht mit der WebUI derzeit nicht.

    Link dazu: https://tools.eichelsdoerfer.net/schedjob.html

    Edit 2:

    Alternativ oder ergänzend kann man auch dieses Overage-Rücksetzen per Nachricht vornehmen lassen, bspw. per MQTT Subscriber.

    Chriscross93

    Ich mag MQTT. Aber hierfür ist kein MQTT erforderlich.

    Wie apreick bereits meinte, ein DHT22 an einem AddOn zu einem Shelly wäre zielführend und verlässlicher.

    Einen H&T kannst du bei Versorgung per USB auch nehmen (sendet dann alle 5 Minuten), mit Batterieversorgung wird der H&T aber relativ selten senden.

    Ansonsten mit MQTT:

    Der Plus Plug S kann Skripte abarbeiten. Wenn du zum skripten (Subset von JavaScript) bereit bist, kann ein solches nützlich sein.

    dataprolet

    1. An MQTT topic is always a single one.
    2. Please describe or show your Node-RED flow!

    Do you use a JSON node after the MQTT in node?

    In a node after such JSON node you can access apower per

    Code
    msg.payload.apower

    Alternatively you may use the instruction

    Code
    let p = JSON.parse(msg.payload);

    in a function node. After that you can access the wished part, e.g. apower, per

    Code
    p.apower

    ...

    ostfriese

    Kleine Korrektur: Ich setze die Schedules per URL, außerhalb von Skripts.

    Es ist selbstverständlich auch möglich Schedules aus einem Skript heraus anzulegen und zu ändern.

    Und ja, es wäre imho wünschenswert, im WebUI eine Fortgeschrittenen (Profi) Abteilung für Schedules anzubieten.

    Dann wäre meine Webseite überflüssig.

    Die Schedules sind ja immerhin recht gut dokumentiert.