Beiträge von eiche

    Oh ja ... Moment. Ich habe das Skript in #12 ein wenig ergäzt.

    Nun sollte die richtige IP Adresse ausgegeben werden. Du hast sie aber strukturell richtig eingebaut.

    Diese Ausgabe ist für die Funktionalität unerheblich.

    .../rpc/switch.toggle?id=0 geht ja selbstverständlich auch. Das hatte ich nicht im Blick.

    Allerdings ist das Skript so nicht darauf eingestellt. Das ist zwar möglich, dafür müsste ich aber die Event Informationen genauer analysieren und verwenden.

    Stelle also auf dem i4 unter ... Action den folgenden URL ein:

    http://<IP Adresse des Mini>/rpc/script.eval?id=1&code="ToggleSwitch()"

    1. Ich kann die App/Cloud dafür nicht empfehlen.
      Nimm stattdessen einen Web Browser mit der IP Adresse des Mini bzw. des Motion bzw. des i4.
    2. Arbeitet das Skript (auf dem Mini!) durch oder wird es mit einer Fehlermeldung abgebrochen?
    3. Hast du gemäß der Skriptausgaben nach dem Skriptstart die Actions sowohl auf dem Motion als auch auf dem i4 eingerichtet?
      Nach meiner Skripterweiterung muss dies noch auf dem i4 erfolgen.
      Drei Zeilen werden unmittelbar nach Skriptstart ausgegeben.
      Die erste Zeile gilt dem Motion, die zweite ist nur Text.
      Die dritte Zeile enthält den URL für den i4 - dem entsprechenden Eingang/Button zugeordnet.

    Edit: Lösche das Protokoll !!! Einen key sollte man nicht veröffentlichen.

    Das "Protokoll" ist wohl die Ausgabe auf einen RPC Aufruf wie Shelly.GetStatus.

    Das ist ein Unix/Linux Shell Script und als Shelly Skript total ungeeignet.

    So etwas wäre vielleicht auf einem Raspberry Pi nutzbar, wenn dieser den Rollladen-Shelly steuern soll, was nicht empfehlenswert ist.

    Aber alle Achtung, das sieht für eine KI nicht schlecht aus.

    Mal angenommen, ich würde diesen Weg gehen. Ich hätte trotzdem wieder eine Inter-Shelly-Kommunikation.
    Die ließe sich (nach meinen naiven Annahmen) nur vermeiden, wenn ich eine Drahtverbindung zwischen Sensor und Add-On auf dem Shelly herstellen würde.

    Die Kommunikation zwischen einem Nicht H&T Shelly und dem Schalt-Shelly funktionieren nach meinen Erfahrungen sehr zuverlässig.

    Ich finde schlicht keine verständliche Ursache für das Nichtsenden des H&T im kurzen Zeitintervall.

    Auch kann ich derzeit wegen Abwesenheit meinen einzigen Plus H&T dbzgl. nicht testen.

    Die Nutzung der Cloud ist jedenfalls eingeschränkter als eine lokale Nutzung, bei welcher ausschließlich die beteiligten Shelly miteinander kommunizieren.

    13:55-14:25 -> ob tatsächlich das T-Kriterium weggelassen wird, kann ich nicht sicherstellen, da ich im GUI für die Action zwingend eine Überprüfung der Temperatur drin haben muss,

    Das sehe ich anders. Wenn der H&T alle 5 Minuten seine Temperatur per Aufruf der Skriptfunktion mitteilen kann, genügt das völlig. Ob dies auf einem H&T als Action konfiguriert werden kann, weiß ich derzeit nicht. Mit einem messenden Plus 1 gelänge dies per Skript leicht. Der Action URL müsste sinngemäß wie folgt lauten.

    Code
    http://192.168.178.16/rpc/script.eval?id=<Skript Id>&code="htTest(<aktuelle Temperatur>)"

    Selbstverständlich muss dann die Skriptfunktion einen Parameter importieren, bspw. so:

    Code
    function htTest(temp) {
        print("htTest wurde aufgerufen. Temperatur: ", temp);
    }

    In einem Mess-Shelly Plus 1 mit AddOn werden die Temperaturen in ca. 1 minütigen Abständen (nicht ganz regelmäßig) erfasst und können bspw. per Skript an den Schalt-Shelly gesendet werden. Dies täte sicherer funktionieren als mit einem H&T, der nicht skriptfähig ist. Die Zeitintervalle können auf dem einen oder dem anderen Plus 1 in ein Skript konfiguriert werden. Auch Schedule Jobs könnten eingesetzt werden.

    Die Actions sind für Leute, die per Klicks, Auswahlen und wenigen Eingaben etwas erreichen wollen - und möglichst keine Wunder erwarten sollten. ;)

    Mit einem Skript ist man erheblich flexibler und kann viel mehr erreichen als mit diesen Actions. Ich nehme auch eine Action, wenn dies bereits genügt, aber in vielen meiner Einsatzzwecke genügen solche Actions nicht.

    Das angepasste Skript.

    Es enthält zusätzlich die Funktion toggleSwitch() für einen entfernten Auftrag, bspw. von einem i4.

    Ich kann es gegenwärtig nicht testen, könnte aber funktionieren. Das Skript reagiert nun sowohl auf einen Schalter am Eingang 0 als auch auf einen Fernaufruf vom i4.

    Nach dem Skriptstart erhältst du im Protokollfenster zwei Ausgaben.

    1. Den URL für den motion.
    2. Den URL für den i4

    Teile bitte den Erfolg bzw. Nichterfolg mit!

    Du kannst den Skriptinhalt (zwecks Kontrolle) in einen Code-Abschnitt (</>) statt als Abbildung einfügen. Dann ist er

    1. besser lesbar,
    2. scrollbar,
    3. kopierbar.

    Der mini ist zusätzlich mit einem Schalter verbunden, um das Licht manuell einschalten zu können.

    So in #1

    Tastendruck auf shellyi4 —> Befehl an 1pm mini —> Licht ein

    Das widerspricht der Info in #1 und war mir bisher nicht bekannt.

    Dafür muss das Skript ein wenig geändert werden.

    Ich werde es mit der Änderung nachreichen.

    Ups, hast du zwei Konten? Oder hast du dich später eingeklinkt?

    Condition:

    When: Temperature Change,

    Nun, die Temperaturänderung bezieht sich womöglich auf die Schwelle von 0.5°C.

    Das dürfte aber nicht das Ausbleiben der Aufrufe in einem kleineren Zeitintervall erklären.

    Ich nutze keine Szenen bzw. Actions, die per Cloud ausgelöst werden und bevorzuge die lokale Implementation. Deshalb weiß ich nichts Genaueres darüber.

    Du kannst offensichtlich programmieren oder Software entwerfen. :)

    Ja, so lässt sich ein Skript gestalten und sollte funktionieren.

    Mir bleibt aber unklar, warum sich der H&T in dem kleineren Zeitintervall nicht mitteilt.

    Letztlich halte ich die Funktionssicherheit mit einem Plus AddOn und Sensor eher gegeben als mit einem H&T.

    Der Ort des ShellyPlus1 ist im Verteilerkasten der FBH, die Temperatur müsste aber in einem anderen Raum gemessen werden.

    Verständlich. Du kannst auch einen zusätzlich Shelly mit AddOn statt des H&T dafür nutzen. Dies gelänge sogar mit einem Shelly 1, also der ersten Generation - nur falls dir ein solcher mit AddOn zur Verfügung stehen sollte. Was ist FBH?

    Deine Anmerkungen zur Thematik Zeiten/Stromausfall/Zeitserver lassen bei mir den Entschluss reifen, doch einen permanenten Internetzugang zu nutzen.

    Es täte genügen, wenn der Internetzugang ca. 2 Minuten lang nach Stromausfall verfügbar wäre. Dann hat sich zumindest der Plus 1 bereits synchronisiert.

    Ich werde den Verdacht nicht los, dass der H&T ein Problem mit der Zeiterkennung hat.

    Edit:

    Vielleicht liegt es doch an der Bedingung "Temperature Change". Du solltest mal im kurzen Zeitinterval den H&T etwas wärmen (oder abkühlen), um zu sehen, ob er dann die Action ausführt.

    Dabei muss die Temperaturänderung mehr als 0.5°C betragen.

    Ist diese Bedingung zwingend oder kann sie weggelassen werden? Entferne sie, wenn möglich ...!

    Du musst das Skript starten, sonst kann es nichts bewirken.

    Ich interpretiere, dass deine erste Abbildung deinen vorher eingetragenen URL zeigt und die zweite Abbildung den nun abgeänderten URL.

    Die unteren Abbildungen mit dem Skriptinhalt durchsuche ich nicht.

    Noch ein Hinweis:
    Nenne das Skript bspw. terrasse oder terrassen_app! Intern werden Skripte ausschließlich per Id verwaltet, aber es erscheint zweckmäßig, für uns Menschen verständliche Namen zu vergeben.

    Genau so etwas habe ich implementiert, mit einem Shelly Plus 1 und einem Shelly Motion.

    Das Skript:

    Der Motion muss dazu folgende Action ausführen:

    Code
    http://<IP Adresse des Schalt-Shelly>/script/<Skript Id>/on?<Dauer in Sekunden>

    Wenn auf dem Schalt-Shelly noch kein Skript liegt, hat dieses die Id 1. Angenommen die Einschaltdauer soll 5 Minuten sein. Dann ist der URL

    Code
    http://<IP Adresse des Schalt-Shelly>/script/1/on?300

    Wenn per Schalter eingeschaltet wird, wird die Wirkung des Motion gesperrt, bis per Schalter ausgeschaltet wird.

    Wenn die Leuchte per Motion eingeschaltet ist und nun per Schalter eingeschaltet wird, bleibt die Leuchte bis zum ausschalten per Schalter an.

    Viel Freude damit ;)

    Ich nutze eine solche Kombination nicht. Der Plus H&T ist mir dafür zu träge.

    Dein Anliegen ist aber klar und ok.

    Ich nehme an, dass du die Schwelle der Temperaturänderungen auf den kleinsten Wert von 0.5°C gestellt hast. Wenn nicht, schaue einmal nach!

    Zeiten können von einem Shelly nur dann genutzt werden, wenn er seine Zeit synchronisieren konnte. Solange er die Zeit einmal von einem Zeitserver erhielt, arbeitet sein Uhrtakt auch dann weiter, wenn keine Verbindung zu einem Zeitserver existiert.

    Fällt aber die Stromversorgung aus und ein Shelly bootet danach, dann hat er keine Uhrzeit, solange er keinen Zeitserver erreichen kann. Die Shelly haben keine Batterie gepufferte Uhr.

    Eine lokale Lösung gelingt ohne verfügbaren Zeitserver also nur, solange sich keine Unterbrechung der Stromversorgung ereignet. Nach dem Stromausfall braucht hierfür der Shelly einen kurzen Zugriff (ca. 1 Minute) auf einen Zeitserver, damit die gesuchte Lösung funktionieren kann. Dies gelingt aber nicht nachträglich, weil eine Action ausschließlich zu Zeitpunkten und nicht später (nachträglich) ausgelöst wird.

    Zur Fehleranalyse

    Ich weiß nicht, warum die von dir gemachten Angaben 22:00 bis 22:59 nicht wie gewünscht funktionieren. Meine Vermutung geht in Richtung, dass vom Plus H&T in dieser Zeitspanne keine Nachricht gesendet wurde. Vielleicht, weil die Temperaturänderung nicht groß genug war.

    Um dies zu prüfen, kannst du ein sehr kurzes Skript einsetzen.

    Code
    function htTest() {
        print("htTest wurde aufgerufen.");
    }

    Im H&T fügst du zu deiner Bedingung eine Action hinzu, die diese Funktion aufruft.

    Das Skript muss gestartet sein. Das Protokollieren per Web UI muss freigegeben/aktiviert sein, worauf dich die Skriptumgebung hinweisen sollte, sobald du das Skript startest.

    Der URL der zusätzliche Action lautet:

    Code
    http://192.168.178.16/rpc/script.eval?id=<Skript Id>&code="htTest()"

    Vermutlich liegen auf deinem Plus 1 noch keine Skripte. Dann ist die Id dieses kleinen Skripts die 1.

    Andernfalls kannst du die Id per RPC Methode script.list herausfinden.

    Du solltest die Web UI (nur direkt vom Plus 1, keine App oder Cloud) mit geöffnetem Skript laufen lassen.

    Auch kannst du mit den Zeiten experimentieren, solange die Actions erhalten bleiben.

    Immer dann, wenn der H&T die Actions ausführt, wird im Protokollfenster der Text "htText wurde aufgerufen." mit Uhrzeit (rechts) erscheinen.

    So kannst du ablesen, wann der H&T dbzgl. aktiv wurde.

    Das ist nur ein erster Schritt zur Fehleranalyse. Es gibt bessere Protokollmöglichkeiten, die aber erheblich aufwändiger sind.

    Ich bin gespannt, was du herausfindest. Irgendwie werden wir dein Anliegen implementieren können, evtl. durch ein Plus AddOn.

    Ich meinte, was ist am 10.03. und 11.09.? :)

    Ich denke, du solltest den gesamten Thread einmal sorgfältig lesen. Dann kannst du hoffentlich erkennen, dass ich versuchte, das Prinzip zu klären, mit welchem der TE nicht komplette Monate in Zeitplänen unterbringen kann. #9 erhebt keinesfalls den Anspruch, alle Zeitpläne aufzulisten. Da ich noch immer nicht weiß, was der TE von März bis September genau erreichen will, habe ich nicht noch mehr investiert.

    Außerdem halte ich wenig davon, komplette Lösungen so zu präsentieren, dass ein Fragender nicht mehr selbst denken muss.