Beiträge von JoergZ

    DeepSleep hilft dir da nicht weiter. WLAN kannst du in einer FritzBox zu gewünschten Zeiten schlafen legen. Aber dann versucht das Tasmota-Gerät immer noch ein WLAN zu erreichen und funkt wahrscheinlich mit einem Maximum an Leistung. Ich fürchte, du musst eine elektromechanische Zeitschaltuhr vor dem SV anbringen, die den Saft zwischen 22:45 und 06:00 (?) Uhr abdreht. Dann ist Ruhe - bis auf evt. mechanische Geräusche von dem Hardware-Timer...

    Mit nmap findet der raspi alle 12, aber bei allen bekomme ich Warning: 192.168.178.XX giving up on port because retransmission cap hit (2). gefolgt von

    Das ist "normal", deshalb die Einschränkung der Kontaktversuche (--max-retries) auf zwei oder drei.

    Nmap scan report for shellyXXX.fritz.box (192.168.178.XX) Host is up (0.0044s latency).

    Not shown: 744 closed tcp ports (conn-refused), 255 filtered tcp ports (no-response)

    PORT STATE SERVICE

    8081/tcp open blackice-icecap

    Das der Port 8081 offen ist, ist ungewöhnlich, kann aber eine Shelly-Besonderheit sein, eigentlich sollte an allen Geräten der Port 80 als offen gemeldet werden. Das ist der standardmäßige HTTP-Port. 8081 ist ein alternativer HTTP-Port.


    Merkwürdig hoch ist auch der RTT-Wert (roundtrip time). Das deutet eher auf tiefer liegende Netzwerkprobleme (routing) hin. Schau mal in der Fritzbox nach, auf welchen Kanälen die WLAN-Netze funken. Steht die Kanalwahl auf auto? Wenn du manuelle Kanalwahl einstellst, dann sollten immer mindestens 4 Kanäle Abstand sein zwischen den Netzen. (Bei einem Mesh sollte alles automatisch geschehen.)


    Kannst du die Gastnetze mal alle abschalten. Es sind einfach viele Netze auf engstem Raum. Das könnte ein häufiges Wiederholen von Paketen nach sich ziehen und die hohe Signallaufzeiten erklären.


    Und zum letzten: Kannst du den Raspi mal ins Kellernetz einhängen und die Zeiten mit den Zeiten vom Wohnungsnetz und die Erreichbarkeit vergleichen. Mit folgendem Befehl kannst du die Messergebnisse aufzeichnen:

    Code
     nmap [IP...] --max-retries=2 >test1.log

    Damit schreibst du die Messergebnisse in die Datei test1.log. Bitte bei jedem Messdurchlauf den Dateinamen ändern (test2.log, test3.log, ...). Die Ping-Werte könntest du auf dieselbe Weise in Dateien speichern.


    Sind die Shellys in Unterputzdosen hinter Steckdosen verbaut? Gibt es einen Potenzialausgleich zwischen Keller-Stromnetz und Wohnungs-Stromnetz. Powerline-Technik ist diesbezüglich ziemlich empfindlich, wie auch für andere Störungen, denn das Stromnetz ist eine riesige Antenne, die alles Mögliche einfängt. Meine Experimente mit Powerline in unserem Haus mit Marken- und No-Name-Geräten waren echt enttäuschend, sodass ich mehrere Router hängen habe. Zum Glück sind beim Bau des Hauses auch gleich genügend Cat. 5 Netzwerkkabel verlegt worden :-).


    Auch mal beobachten, ob die Shellys sich häufig in andere Netze einwählen wollen.

    Probieren geht über Studieren !!

    Ein guter Tipp! Und nicht alles auf einmal probieren (verändern), sondern Schritt für Schritt, immer nur eine (1) Veränderung vornehmen und schauen, was passiert.

    Dass es zu viele Geräte sind, glaube ich nicht.

    Du hast einen Raspberry Pi im Betrieb. Installiere dort mal das Paket nmap und gib dann folgenden Befehl ein:

    Code
     nmap 192.168.178.0/24 --max-retries=2

    wobei 192.168.178.0 nur gilt, wenn die Fritzbox die IP 192.168.178.1 hat. Wenn du einen anderen Nummernkreis benutzt, muss man die Basis IP und die Netzmaske ändern. Siehst du alle Geräte aufgelistet? Die Zahl hinter --max-retries kannst du erhöhen, wenn Geräte fehlen. Aber bei 5 sollten alle Geräte funktionieren.

    (Du kannst natürlich auch alle Geräte mal versuchen anzupingen. Es geht hier zunächst einmal nur um die schnöde Erreichbarkeit ohne weitere Protokoll- und Port-Finessen.)

    (Wenn nmap nicht alle Geräte anzeigt, dann mal mit dem Raspi in den Keller gehen und ans PowerLine anhängen und dasselbe nochmal machen. Gibt es Unterschiede?)

    Hast du 5 Ghz überall abgeschaltet?


    Ist das Powerline Gerät wirklich tranparent im Mesh oder vielleicht doch als AccessPoint mit eigenen DHCP-Server installiert?


    Auch die Antwort auf die Frage von Noschvie wäre hier von Interesse....

    Es "riecht" eher nach einem IP- oder DNS-Problem. Ist irgendein zweiter DHCP-Server aktiv? Eventuell ist das dein PowerLan Adapter. Dann hast du vermutlich zwei Netze. Vielleicht hilft es alle Geräte neu zu starten. Am besten mit dem Power-Lan Gerät anfangen. Ich hoffe die Shellys sind nicht alle tief verbaut sondern lassen sich gut erreichen. Also am besten Strom abklemmen, ein paar Sekündchen warten und Strom wieder auflegen. Kannst du dich mit einem Handy in das Keller-WLAN einbuchen und ist das Internet (oder die Shellys) dann erreichbar (Es muss aber sichergestellt ein, dass du die WLAN-Verbindung nutzt und nicht die Mobilfunkverbindung.) Ist im Stromkreis des Kellers ein neues Elektrogerät hinzugekommen, dass evt. Störsignale in die Stromleitung sendet? Kannst du im Keller-WLAN bzw. im anderen WLAN mal einen Gerätescan bzw. Portscan machen. Welche IP-Mummern sind in den beiden Netzen belegt?

    Jede Hausautomatisierungssoftware (IOBroker, Homeassistent, Domoticz, etc.) kann so etwas. Eigenes Skript schreiben, wenn es nur um dieses einzelne Gerät geht, geht auch. :)

    Vielleicht zum Einstieg mein Versuch MQTT zu erklären (oder andere Quellen im Internet suchen):

    MQTT in diesem Wiki

    Um mit MQTT-Nachrichten zu arbeiten, gibt es viele Optionen. Du wirts nicht umhin kommen, dich in irgendetwas mehr einzuarbeiten: Sei es eine Heimautomatisierung wie Domoticz, IOBroker, HomeAssistant, FHEM und und und... oder in eine Programmiersprache wie Java(Script), Python, C irgendwas (letzteres wohl kaum ;) ) . Dann findest du die entsprechenden Tools (Bibliotheken) und Beispiele, wie bestimmte Aufgaben gelöst werden können.


    Dabei wirst du dich mit dem Format von MQTT-Nachrichten beschäftigen müssen: JSON Auch dazu habe ich mich in dem Wiki auf dieser Plattform verewigt: hier. Ich hoffe das hilft die schon mal ein bisschen weiter.

    Wenn ich dein Thema richtig verstehe, kannst du entweder einen MQTT-Server im Internet betreiben, auf den sowohl das Gerät im "fremden" WLAN als auch dein Raspi/Domozicz jeweils als Clients zugreifen.

    Die andere Version ist der Betrieb von mosquitto auf deinem Raspberry Pi. Dann muss der Pi von außen erreichbar sein, das heißt zum einen ein Port in deinem Router muss frei geschaltet werden, um auf den MQTT-Port am Raspi zu kommen und zum anderen braucht dann entweder der Router eine feste IP oder du musst zusätzlich einen DynDS-Service benutzen, mit einer Pseudo-Domain im Internet, von der immer auf deinen Router umgeleitet wird, der ja in der Regel eine dynamische IP hat. (Man kann zwar irgendwie IPV6 in Tasmota reinfriemeln, aber einfach ist das nicht.) Wenn du in deinem Router einen Port freischaltest, nimm nicht den 1881. Das wäre für Angreifer zu einfach.


    Zur Variante 1 in meinem Beitrag: Eventuell gibt es Dienstleister im Internet, die MQTT-Server zur Verfügung stellen umsonst oder für kleines Geld. Musst du mal recherchieren.


    In allen Fällen - weil es immer über das Internet geht - ist es dringend geboten, mit verschlüsselten Daten zu arbeiten. Das MQTT-Protokoll erlaubt TLS-Verschlüsselung.


    Zu http/https: Wenn dann ist nur https eine Option und dazu braucht die Hardware m. W. einen ESP32. Der ESP8266 kann das nicht.

    Unter Linux muss das Paket mosquitto-clients installiert sein. Für Windows findest du hier was https://mqtt.org/software/ unter dem Punkt Software -> Desktop-Tools. Weitere Informationen in meinem Wiki-Beitrag: MQTT - Eine Einführung. Vom Funktionsprinzip geht es so: Du schickst eine Nachricht an den MQTT-Broker. Die Nachricht besteht aus einem Topic (Gerät bzw. Dienst) und einer Message (Payload). Das kann ein einfaches Befehlswort sein wie "on" oder "off" oder ein JSON-Ausdruck wie "{key: value1, key2 : value2}". Um einen einzelnen Timer zu setzen, überträgst du einen Json Ausdruck wie

    {"Timer1":{"Enable":1,"Mode":0,"Time":"20:00","Window":0,"Days":"1111111","Repeat":1,"Output":1,"Action":1}}. Der MQTT-Broker schickt es dann weiter an das Gerät bzw. den Dienst auf dem Gerät.

    Denke daran, dass es das Topic Timers gibt, mit dem du alle Timer in einem Rutsch definieren kannst inklusive der Angabe, ob denn die Timer-Funktion überhaupt aktiviert werden soll und die Topics timer1 bis timer16, mit denen du einen einzelnen Timer beeinflusst, aber nicht die Grundfunktion. Schau es dir einfach in der Tasmota-Konsole an, welchen Output du bekommst, wenn du timers bzw. timer1 eingibst.

    Ich arbeite nicht mit FHEM und habe mir nur ein paar Bilder von FTUI3 angeschaut. Unwahrscheinlich, dass die Timersteuerung von Tasmota darin integriert ist. Du kennst die Webansicht für die Konfiguration der Timer? Da ist schon eine Menge einzustellen. Was auf jeden Fall geht, ist eine Timer-Definition per MQTT zu übertragen. Vielleicht ist es ja auch möglich in FTUI3 sich Webseiten anzeigen zu lassen. Dann könntest du das WebGUI von Tasmota aufrufen. Wäre zwar nicht elegant aber machbar ;-).

    Du wirst bestimmt Hilfe bekommen, wenn die Rulesspezialisten sehen, dass du dich wenigstens ein bisschen angestrengt hast und deine nicht zum Erfolg führenden Regeln hier postest. Wir verstehen uns als Hilfe zur Selbsthilfe. Das Wort Rules ist ein Link, der dir schon mal mit einfachen Beispielen (auf deutsch) weiterhilft. Ich bin nicht der Rulesspezialist, aber soweit ich das überblicke ist die Aufgabe durchaus lösbar.

    Wenn ich nicht ganz falsch liege (andere kennen sich mit Shelly besser aus) kann ein Shelly auch nur senden (MQTT publish oder (HTTP) websend) aber nicht empfangen oder abfragen (subscribe), es sei denn, das Gerät ist direkt hardwaremäßig am Shelly via GPIO angeschlossen. Dein Ziel lässt sich m. E. nur mit einem MQTT-Broker und Skripten (oder einer Hausautomationssoftware) auf einem weiteren Gerät z. B. einem Raspberry Pi erledigen