Beiträge von JoergZ

    Optik ist schick, jedoch hat sich beim Gruppenschalten nichts geändert: Es wird immer der Befehl Power OFF an die Geräte gesendet, egal ob ON oder TOGGLE gewählt wurde. Dann folgende Phänomene:


    Der erste Scan nach Installation der aktuellen Version der App war vollständig

    Ein Router/AccessPoint wird als Tasmota-Gerät angezeigt

    Ursprünglich angezeigte Tasmota-Geräte "verschwinden" plötzlich und erscheinen auch nach einem Neustart der App nicht mehr

    Erneutes Scannen zeigt ein paar Geräte mehr an, aber nicht alle

    Erst eine Erhöhung der Scan-Zeit auf 500 ms führte dazu, dass wieder alle Geräte angezeigt wurden.


    Zur Gruppensteuerung: Ich habe festgestellt, dass die Gruppensteuerung den zuletzt am Gerät vorgenommen Schaltvorgang lediglich wiederholt:

    1. Gruppe steht auf TOGGLE
    2. Ich schalte ein Gruppengerät über die Web-Oberfläche an: Das Gerät wird angeschaltet
    3. Ich betätige den Gruppenschalter: Das Gerät wird (erneut) angeschaltet
    4. Ich schalte über die Web-Oberfläche aus: Das Gerät wird ausgeschaltet
    5. Ich betätige den Gruppenschalter: Das Gerät wird (erneut) ausgeschaltet.


    Welcher Befehl wird denn generiert, wenn ein Gruppenschalter betätigt wird?


    EDIT: Bei einem 4CH wird nur der Kanal Power4 richtig angezeigt, das Schalten funktioniert für alle Kanäle aber die Anzeige nur für Power4

    Deshalb ist es einfacher wenn man dem Router sagt, er soll im DHCP Betrieb bekannten MAC Adressen immer die selbe IP zuweisen.

    Mein lieber Helfinger genau das sind keine festen IPs sondern an den Router gebundene DHCP-Zuweisungen derselben IPs an dieselben MAC-Adressen. Wenn der Router gewechselt wird, ist man eben am A.... Deshalb laufen nur feste IPs die an die Endgeräte gebunden sind, wirklich gut. Dann muss man nur im neuen Router diese IPs von der DHCP-Vergabe ausschließen.

    Knacki65 Haben deine Sonoffs eindeutige Hostnamen? Hast du mal das Aufrufen von http://hostname.local oder http://hostname.[domain-name-deines-neuen-Routers] also bei einer Fritzbox würde das http://sonoffname.fritz.box heißen. Hast du eine Netzwerkübersicht in deinem neuen Router? Werden die Geräte dort angezeigt? Hat dein neuer Router dieselbe Basisadresse wie dein alter und ist der DNS auf derselben IP wie vorher zu erreichen?

    svko Ich habe die gewünschten Berechtigungen akzeptiert. Die Gruppe lässt sich auch speichern. Und das beim Schalten der Gruppe immer ein OFF, egal ob ON, OFF oder TOGGLE gewählt wurde, geschickt wird, kann ich sowohl in der Konsole auch im MQTT-Broker verfolgen. Es scheint auch so zu sein, dass deine App periodisch (bislang nicht reproduzierbar) die Geräte antriggert und den Schaltzustand, der bereits gewählt ist, erneut abschickt. Ich kann das daran feststellen, weil ich ein Python-Skript am Laufen habe, dass den MQTT-Broker "abhört" und mir jede Power-Status-Meldung per akustischer Ansage über SNIPS mitteilt.

    Noch was: Wenn ich auf einen Eintrag im Bereich "Gruppen" klicke, wird das Gerät was im Bereich "Geräte" an der Position liegt, geschaltet. Es scheint so zu sein, dass der Displayinhalt von "Geräte" zwar nicht zu sehen ist, aber dennoch aktiv ist und auf Berührung reagiert.

    Bekomme dieselbe Fehlermeldung wie motorrad . Beim daneben klicken gehts weiter. Alle Geräte werden gefunden, Schalten funktioniert.

    Funktion Gruppe: Lässt sich einrichten, jedoch wird immer ein POWER OFF geschickt, egal welchen Schalttyp ich wähle.


    Was mir nicht gefällt: Wieso braucht die App Berechtigung den Inhalt der SD-Karte zu ändern oder Bilder und Videos aufzunehmen?

    Naja, das ist hier im weitesten Sinne ein Maker-Forum. D. h. Fertig-Lösungen bekommst du hier nicht. Die kann man anderswo kaufen (inklusive Bagger- und Verlegearbeiten). Hilfe bekommst du hier zur Selbsthilfe, was auch immer bedeutet, dass du Informationen und Beschreibungen liefern musst und von uns Hinweise und Lösungen erhalten kannst. Versuche mal bitte Informationen zu beschaffen über:

    • Welche Sensorik ist vorhanden (am besten Typ oder Markenname oder Bezugsquelle)?
    • Ist das ein analoger oder ein digitaler Sensor?
    • Welche Kenntnisse hast du selber oder der Pool-Besitzer/in in Sachen IT (z. B. Raspberry Pi)
    • Wie weit ist der Pool vom Haus bzw. von der nächsten WLAN-Quelle entfernt?
    • Lässt sich am Pool wetter- und halbwegs Feuchtigkeits geschützt weitere Elektronik (z. B. ein Raspbery Pi) verbauen. Hinweis: Die Sonoffs sind nicht wirklich Feuchtraum geeignet.

    Hier noch ein Link zu einer Seite, auf der die Sensoren, die mehr oder weniger gut mit Tasmota zusammenarbeiten, gelistet sind:

    https://github.com/arendst/Son…wiki/Sensor-Configuration


    Ich wollte dir nicht auf die Füße latschen, aber wir können nur helfen, wenn du selber mithilfst. Dein Lohn für alles: mehr Kompetenz, mehr Spaß, mehr Ideen. In diesem Sinne...

    und am Pool-Ende des Kabels hängt die ganze Pool-Sensorik oder ist das nur ein Stück Kabel? Lass dir doch nicht die Würmer so aus der Nase ziehen. Beschreibe mal in wohl gesetzten Worten und/oder mach ein paar Fotos.

    Dieses müsste man bis zur Umwälzpumpe ins Haus verlängern

    Mach es doch einfach. Ob es funktioniert oder nicht bekommt sowieso nur bei der Umsetzung heraus. Wenn du dich auf mögliche Nebenwirkungen vorbereiten willst oder das richtige Kabel auswählen willst, suche mit Google und den Worten Sensor an langer Leitung oder Sonoff Sensor und langes Kabel und ähnliche Ausdrücke. Ich bin sicher, du bekommst jede Menge Informationen.

    Ich wollte aber einen Vorschlag, wo ich die Steuerung vom Pool anzapfen kann und über WLAN weiterleiten kann.

    Was genau meinst du damit? Die Stelle im Pool, wo der Sensor sitzen soll?


    Hier ist z. B. ein Sensor, der wasserdicht ist und prinzipiell mit Tasmota/Sonoff oder einem Raspberry mit D/A-Wandler zusammenarbeitet. Ich habe ein vergleichbares Problem mit einem 1-Wire-Drucksensor an einem Raspberry Pi gelöst: Fällt der Druck in der Gartenwasserleitung (weil ein Wasserhahn aufgedreht wurde) wird ein MQTT-Befehl an den Sonoff-Basic geschickt, der den Strom für die Gartenwasserpumpe schaltet. Ich hätte auch einen HTTP-Befehl auslösen können, also quasi ein Websend.


    Schau mal hier im Forumin die Projekte

    Mein Sonoff-Projekt rein, z. B. Ölstand messen.


    Ein Wasserdichter Temp-Sensor ist dieser:

    https://www.ebay.de/itm/DS18B20-Wasserdicht-Digital-Temperatur-F%C3%BChler-Sensor-1-wire-Raspberry-Pi-Arduino/252715001868?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649

    Wenn Strom am Pool grundsätzlich vorhanden ist, und ein WLAN bis dorthin strahlt lässt sich das machen: Am Pool kommt ein Tasmota-Sonoff hin mit einem externen (wasserdichten) Messfühler. Der Sonoff braucht 230 V und das WLAN. Die Pumpe für den Heizkreislauf "Pool" wird an einen zweiten Sonoff Basic oder einen S20 angeschlossen, natürlich ebenfalls mit Tasmota geflasht und im selben WLAN. Auf dem Tasmota-Gerät am Pool werden Rules definiert sinngemäß:

    Wenn Temperatur < 22 Grad Celsius schalte Pumpe per Websend-Befehl ein; Wenn Temperatur >= 24 Grad Celsius schalte Pumpe wieder aus. So würde ich das realisieren.

    aus dem PHP-Manual

    Zitat

    file_get_contents — Liest die gesamte Datei in einen String

    EnergyReset produziert aber keine Datei sondern ein JSON-Objekt. Mir scheint die Funktion file_get_contents() ungeeignet zu sein ein JSON-Objekt adäquat zu lesen. Vermutlich wartet file_get_contents() auf ein EOF = End of File oder Dateienende-Marke, meistens durch CTRL-D repräsentiert. (mehr dazu hier). Ich vermute (Achtung Spekulation) dass die PHP Funktion auf das Dateiende wartet und wenn es nicht kommt nach 2-3 Sekunden sich selbst beendet. In der Zeit kann man ja u. U. etliche MByte lesen. Die Zeichenbegrenzung ist dann ein Trick, scheint mir. Versuch doch mal die Funktionen zur Verarbeitung von JSON-Objekten zu nutzen. Dann wirst du nicht tricksen müssen. Aber wenn du mit deiner Lösung leben kannst, soll es mir recht sein. Sauber ist es, denke ich, ist es nicht.

    Was Helfinger meint ist die Angabe über die Version. Die findest du bei einer halbwegs aktuellen Tasmota-Version gleich auf der Startseite der Weboberfläche unter dem Hauptmenü:


    Mehr Informationen erhältst du, wenn du auf Informationen klickst. Dort ist dann in der ersten Zeile ebenfalls die Tasmota-Version erwähnt. Wichtig ist zudem die Core/SDK-Version aus der dritten Zeile. Manche Probleme mit Alexa treten (nur) bei bestimmtem Versionen auf. Deshalb bitte angeben:

    Zuguterletzt kann man Tasmota-Geräte in so genannten Emulationen betreiben . Diese findest du, wenn du auf der Hauptseite auf Einstellungen klickst und dann auf Sonstige Konfigurationen klickst:

    Ist irre lang her, dass ich ein wenig mit PHP gemacht habe, aber bist du sicher, dass du implode() korrekt einsetzt?. Nach dem Manual müsste es so aussehen:

    Code
    1. $_buffer124strom = implode('<Trennzeichen>', $_url124strom);
    2. # z. B. $_buffer124strom = implode(',', $_url124strom)

    Quelle: https://www.php.net/manual/de/function.implode.php


    Wenn der Inhalt der Variablen $_url124strom ein Array ist, müsste in $_buffer124strom anschließend eine Zeichenkette mit den Verbrauchswerten stehen, getrennt durch das gewählte Trennzeichen.


    Aber so wie ich das sehe, ist der Output von energyreset kein Array sondern ein JSON-String.


    Code
    1. {"EnergyReset":{"Total":0.000,"Yesterday":0.000,"Today":0.000}}

    Wundere dich nicht über die Werte. Mein POW ist kaputt und ich habe einen Basic mal eben auf POW umgelabelt und energyreset abgerufen. Die Struktur wird dennoch korrekt angezeigt.


    Schau doch mal nach, welche Funktionen PHP für die Verarbeitung von JSON-Strings hat. Damit kommst du bestimmt weiter.


    Hab noch mal selbst nachgeschaut. Es gibt die Funktion json_decode(), die macht dir aus dem JSON-String einen Array und den kannst du dann weiterverarbeiten mit implode().

    https://www.php.net/manual/de/function.json-decode.php

    Also alle wichtigen Geräte (Serverdienste, Tasmotas, Drucker) haben feste IPs. Und zwar in den jeweiligen Geräten definiert und nicht als DHCP-Reservierung im Router.

    Im Router ist der Adressraum der festen IPs für den DHCP Server gesperrt. Bei mir sind das die IPs .2 bis .100.

    Meine Tasmota-Geräte bekommen allen einen Friendlyname, der ihre Funktion oder Standort beschreibt. Der hostname und das MQTT-Topic lauten in der Regel gleich, damit in allen Kommunikationsprotokollen dieselben Namen verwendet werden.

    Als Gateway und als DNS ist die Fritzbox definiert, also 192.168.178.1

    Was den direkten Aufruf des Gerätes über den Namen anbelangt, so treffe ich bei mir inzwischen auf ein sehr widersprüchliches Bild:

    Manche Geräte lassen sich über ihren Hostname ansprechen, manche nicht.

    Was reproduzierbar funktioniert, ist folgendes:

    Das Tasmota-Gerät bekommt die ipaddress1 0.0.0.0 (also DHCP) und einen hostname. Dann lässt sich das Gerät sofort mit seinem Namen in der Browserzeile ansprechen: http://hostname <enter> - die Weboberfläche startet.

    Hat das Gerät eine feste IP, dann muss in der Fritzbox unter Heimnetz -> Heimnetzübersicht -> Netzwerkverbindungen das Gerät gesucht werden. Meistens wird es zunächst mit seiner festen IP angezeigt, z. B. PC-192-168-178-74. Wenn du rechts auf den Editierstift klickst, kannst du den Namen des Gerätes auf den vergebenen hostname ändern. Danach lässt sich im lokalen Netz das Gerät mit seinem Namen ansprechen.


    Allerdings bin ich geneigt zu schwören, dass es nicht immer so reibungslos klappt. Ich habe den Eindruck, dass diverse Caches einem in die Quere kommen, sodass es nicht gleich funktioniert, z. B. der Browser-Cache und wohl auch ein DNS-Cache in der Fritzbox. Es bleibt unterm Strich ein wenig rätselhaft :/.

    Ich bin nicht sicher deine Fragen richtig zu verstehen. Meine Antworten dazu lauten:

    a) Tasmota unterstützt kein HTTPS

    b) du kannst im lokalen Netz ohne Passwörter (und Benutzernamen) arbeiten sowohl für die HTTP-Schnittstelle als auch bei MQTT. Dein WLAN sollte dann allerdings mit einem langen und wirren Passwort geschützt sein. Mit Passwörtern ist halt noch eine Sicherheitstufe besser.

    Was spricht denn dagegen, deinen Servern per sudo nano /etc/hostname einen Hostnamen zu verpassen und anschließend die Server mit hostname.local anzusprechen. Genauso kannst du alle Sonoffs mit eindeutigen friendlyname(s) versehen und mit friendlyname.local ansprechen, z. B. sonoff-stube.local, sonoff-kueche.local usw.

    Mit eigenen Zertifikaten habe ich (noch?) nicht gearbeitet, da kann ich nichts zu sagen, leider.

    Einstein67 Das verstehe ich nicht: Warum liegt beim Auslesen der Sensordaten am Fühler Netzspannung aus. Es muss doch nur der Sensorwert ausgelesen werden und dann ein Power 1 oder Power 0 gegeben werden. bzw ich benutze den TH16 zur Temperaturermittlung und lass ihn dann über rule ein websend oder publish auf den POW machen.