Beiträge von Frickelmaster

    Hier das Blockly-Script als (getrickster) Screenshot aus zwei Einzelbildern. Bin gerade nur am Laptop und da hab ich nicht die Mega-Auflösung wie auf dem dicken PC :-)


    Über Blockly selbst kann man nicht die IP-Adresse der Geräte aus der eingangs erwähnten ioBroker-internen Liste abfragen, deswegen ist die Javascript-Funktion "IPauslesen" erforderlich. Die wird aber beim Importieren der XML-Datei mit importiert, von daher alles ganz entspannt.


    [Blockierte Grafik: http://cx.frickelmaster.de/allesonoffs_blockly1.jpg]

    [Blockierte Grafik: http://cx.frickelmaster.de/allesonoffs_blockly2.jpg]


    Wer das mit dem Im- und Export vorhandener Blockly-Scripte noch nicht kennt... mein Alle Sonoffs neu starten-Script kann man nach dem Download und Öffnen mit einem Texteditor (Notepad reicht) komplett in die Zwischenablage kopieren und dann ein neues, leeres Blockly-Script im ioBroker erstellen. Dann im Kopf des Scripts diesen Button anklicken:


    [Blockierte Grafik: http://cx.frickelmaster.de/blockly_import.jpg]


    Im sich dann öffnenden Fenster den Inhalt der Zwischenablage einfügen und OK anklicken. Und zack! ist das Blockly-Script fertig :-)

    JoergZ :

    Hab über Deine Signatur zu diesem Shellscript gefunden. Auch als alter Hase kann man immer wieder neue Anregungen entnehmen. Gefällt mir!


    Gerade hab ich mal einen Scan über das gesamte (Standard-) private class C-Netz laufen lassen. Es lief gut an, aber dann...


    Für meine Heizkörperthermostate habe ich einen eq-3 MaxCube im Netz hängen. Das Ding scheint ein Schweinchen zu sein, denn auf den Ping antwortet der Cube und wird demnach als online erkannt. Auf den nachfolgenden http-Request per curl antwortet er aber nicht, es gibt aber auch keinen Timeout! Also bleibt das Script bis zum Sanktnimmerleinstag hängen und kann nur noch mit CTRL-C abgebrochen werden.


    Deswegen ein kleiner Verbesserungsvorschlag, die Zeile 114 um den curl-Timeout-Parameter zu ergänzen.


    Jetzt:

    Code
    if a=$(curl -s http://$netz$i/cm?cmnd=power | grep -i 'power'); then


    Vorschlag: Verbindungsversuch mit 5 Sekunden Timeout

    Code
    if a=$(curl --connect-timeout 5 -s http://$netz$i/cm?cmnd=power | grep -i 'power'); then


    Damit rennt der Netzwerkscan nun komplett durch.

    Ja. Die Lösung heißt cron. Ist auf jedem Linux standardmäßig drauf, sonst installieren mit sudo apt install cron. Was du möglicherweise nachinstallieren musst, ist curl.

    Hmm... letztlich ist meine ioBroker-interne Blockly-Lösung nichts anderes - hat aber m. E. noch zwei Vorteile:


    - man muss keine Liste der IP-Adressen von Hand pflegen, sondern nutzt die ohnehin vorhandene Liste der Sonoffs, die online sind


    - man muss nicht auf der Linux-Ebene rumtoben. OK, vi bzw. nano sind keine Raketenwissenschaft, aber wenn ich das Ganze ioBroker-intern lösen kann, mach ich das.


    cron ist gleich zu Beginn enthalten (im Beispiel um 3.15 Uhr) und die IP-Adressen der Sonoffs werden per Javascript automatisch ermittelt...


    Ich bin halt faul :-)

    Unter den Sonoff-Objekten gibt es eine Liste der aktuell mit dem Sonoff-Adapter verbundenen Geräte:


    [Blockierte Grafik: http://cx.frickelmaster.de/sonoff-liste.jpg]


    Die Liste kann man auslesen, dann über ein Javascript die IP-Adresse der Geräte ermitteln und im Anschluss das jeweilige Gerät neustarten.


    Das Ganze hab ich vor einigen Wochen realisiert und in einem Forum, das sich ursprünglich mit Smarthome befasste, nun aber zu einer billigen QVC- bzw. HSE24-Kopie verkommen ist, veröffentlicht.


    Das kommentierte Blockly-Script kannst Du von meinem Webspace runterladen und importieren:


    nächtlicher Neustart aller verbundenen Sonoffs


    Prinzipbedingt können nur die verbundenen Sonoffs neu gestartet werden, denn nur diese sind in der eingangs erwähnten Liste enthalten. Wenn ein Sonoff über den Tag die Verbindung trennt, ist er nicht mehr in der Liste und wird auch von meinem Script nicht erfasst. Ist also eher prophylaktisch zu sehen... also vorbeugender Neustart ;-)


    Funktioniert bei mir einwandfrei.

    meine lässt sich aber nur per Web und Alexa schalten

    manuell an der Steckdose kann ich nicht mehr schalten sind irgendwie ausser Funktion


    Steht doch schon oben ;-)


    Generic-Gerät auswählen und dann u. a. GPIO14 auf Button 1 legen... geht einwandfrei!


    Zitat

    Für volle Funktionalität einfach als Gerät „Generic“ auswählen und wie folgt einstellen:

    GPIO4 auf „48 LED 1“

    GPIO5 auf „17 Relay 1“

    GPRIO12 auf „49 LED 2“

    GPRO14 auf „13 Button 1“

    Hallo zusammen,


    hab ein paar TH16 und auch einige Basics, bei denen ich zusätzlich zum Lichtschalter (GPIO14) einen DS18B20 auf GPIO4 gelötet habe. Funktioniert alles prima im Zusammenspiel mit dem ioBroker, insofern dürfte alles korrekt konfiguriert sein.


    Das einzige, was mich stört, ist die Tatsache, dass die Temperatur selbst bei drastischer Änderung (Stichwort Kältespray :-)) minutenlang nicht im ioBroker aktualisiert wird. Wenn man wild-hektisch bei den Objekten rumklickt oder den Sonoff-Adapter neu startet, wird irgendwann aktualisiert, aber das ist natürlich nix...


    Gibt es in der Sonoff-Konfiguration irgendwo eine Stelle, wo ich das Aktualisierungsintervall (MQTT?) einstellen kann, z. B. auf 15 Sekunden?