App zum Steuern von Tasmotageräten

  • es wird permanent die Liste mit gefundenen Geräten gescannt, irgendwie

    muss ich ja an die Schaltzustände kommen,

    Ja, das ist leider das Problem, wenn man die Zustände über das HTTP-Protokoll abfragt. und genau das macht mir ein "Problem". Mit MQTT könnte man die relevanten Topics subskribieren und es würde der Zustand angezeigt, der zuletzt gemeldet wurde. Die Abfrage des Powerzustandes über HTTP löst eben auch eine MQTT-Meldung des Topics stat aus. Da ich die Stat-Meldungen (+/stat/POWER) meines MQTT-Brokers über ein Python-Skript auswerte, um ein echtes Feedback zu haben, dass ein Schaltvorgang auch tatsächlich ausgeführt wurde, führt deine Abfrageschleife bei mir zu einer Ansageschleife über den jeweiligen Zustand der gescannten Geräte. Das ist natürlich überhaupt nicht das Problem deiner Programmierung, sondern führt bei mir zu einem etwas nervigen Nebeneffekt, zu dem du aber gar nichts kannst. Ich finde deine App klasse!

  • Neue Version Tasmota ist online. Mehrere Fehler behoben, Scan komplett auf IP-Bereich umgestelt.Bitte vor Neuinstallisation Daten der alten App löschen,

    Gruppen müssen dann neu angelegt werden.

    Ich möchte die Testen bei Euch ins Forum stellen. In welchem Forumsbereich wehre das am besten aufgehoben. Ich habe gesehen das Ihr selbst eine App

    entwickelt und hoffe niemanden damit auf die Füße zutreten.

    Geplant ist:

    -eine Einstellungsseite für die leichte Einrichtung von Rules

    -für jedes Modul eine extra Seite (da brauche ich Erfahrung von anderen Mitgliedern zur Steuerung) Lüfter,Licht, Led usw.

    -angepasste Einstellung je nach Modul und Tasmotaversion


    zwei Fragen noch

    1. LedState hat auf meine Sonoffs kein Einfluß ,mein Kollege hat vorher in der Konsole Setoption31 gesetzt bei Ihm funktionierts (Erklärung bitte)

    2. auf der Einstellseite zu einem TH10 mit Sensor möchte ich für Temperatur einen Einschaltwert und Ausschaltwert definieren ,würde automatisch Rule1

    überschreiben und für Feuchtigkeit Rule2 (was haltet Ihr davon)

    Einmal editiert, zuletzt von svko (17. Oktober 2019 um 23:03)

  • GuMo Alle.

    Neue Version Tasmota ist online. Mehrere Fehler behoben, Scan komplett auf IP-Bereich umgestelt.Bitte vor Neuinstallisation Daten der alten App löschen,

    Gruppen müssen dann neu angelegt werden.

    Ich hab einfach drüber installiert, ging auch so mit den Gruppen. Aber Ebenso nachdem ich Daten gelöscht hatte und Gruppen neu erstellt hab.


    Ich möchte die Testen bei Euch ins Forum stellen. In welchem Forumsbereich wehre das am besten aufgehoben. Ich habe gesehen das Ihr selbst eine App

    entwickelt und hoffe niemanden damit auf die Füße zutreten.

    Am Besten wohl unter der Rubrik:

    Software -> Tasmota Firmware (Da gibts auch die Unterrubriken TasmoAdmin und QuikView und es bezieht sich ja auch auf die Tasmota FW)

    CreationX hat da garantiert nix dagegen, zumal deren APP Entwicklung schon seit geraumer Zeit stagniert. Wenn Du tatsächlich eine langfristigere Entwicklung planst würde ich evtl sogar mal @Martin Hesse kontaktieren ob er Dir nicht eine eigene Rubrik für Deine APP einrichtet.

    Zum geplanten:

    -für jedes Modul eine extra Seite (da brauche ich Erfahrung von anderen Mitgliedern zur Steuerung) Lüfter,Licht, Led usw.

    Finde ich sehr interessant um evtl nicht nur den Power on/off/toggle zu senden sondern auch bei Bedarf einen individuellen Schaltbefehl.

    1. LedState hat auf meine Sonoffs kein Einfluß ,mein Kollege hat vorher in der Konsole Setoption31 gesetzt bei Ihm funktionierts (Erklärung bitte)

    Sollte eigentlich aber einen Einfluss haben:

    SetOption31 - Disable Wi-Fi LED status blinking

    Dazu wäre Dein Konsolen Output interessant. Was kommt denn wenn du Setoption31 eingibst?

    2. auf der Einstellseite zu einem TH10 mit Sensor möchte ich für Temperatur einen Einschaltwert und Ausschaltwert definieren ,würde automatisch Rule1

    überschreiben und für Feuchtigkeit Rule2 (was haltet Ihr davon)

    Finde ich persönlich sehr intessant. Kommt jetzt auf den Programmieraufwand drauf an. Man darf nicht vergessen Rule sind sehr individuell einsetztbar und die Anforderungen auch. Das fängt bei Temperatur schon beim Einschaltwert an über die Hysterese bis zum Auschaltwert. Der nächste braucht das in Abhängigkeit eines Timers der andere vom Schaltzustand eines anderen Sonoffs ... etc.

    Rules Pauschal über ne APP anzubieten wird also eine echte Herausforderung werden und ich befürchte fast das den meisten das eine oder andere dann fehlt oder zuviel ist.


    zu @JoergZ Post:

    Ja, das ist leider das Problem, wenn man die Zustände über das HTTP-Protokoll abfragt. und genau das macht mir ein "Problem". Mit MQTT könnte man die relevanten Topics subskribieren und es würde der Zustand angezeigt, der zuletzt gemeldet wurde. Die Abfrage des Powerzustandes über HTTP löst eben auch eine MQTT-Meldung des Topics stat aus. Da ich die Stat-Meldungen (+/stat/POWER) meines MQTT-Brokers über ein Python-Skript auswerte, um ein echtes Feedback zu haben, dass ein Schaltvorgang auch tatsächlich ausgeführt wurde, führt deine Abfrageschleife bei mir zu einer Ansageschleife über den jeweiligen Zustand der gescannten Geräte. Das ist natürlich überhaupt nicht das Problem deiner Programmierung, sondern führt bei mir zu einem etwas nervigen Nebeneffekt, zu dem du aber gar nichts kannst. Ich finde deine App klasse!

    Ich finde die APP auch klasse. :thumbup:

    Einfach, Intuitiv und vor allem ohne Server einsetztbar. Sicher ist das permamante scannen DER Nachteil an der Sache. Allerdings erst dann wenn man die APP langfristig offen läßt. Für die aktuelle kurzfristige Bedienung absolut top!

    Und wer tiefer einsteigt dem bietet sich mit MQTT andere APP's wie MQTT Dasboard, IOBroker Visualsierung etc.

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

    Einmal editiert, zuletzt von HoerMirAuf (18. Oktober 2019 um 07:57)

  • svko Multischalter funktioniert nun korrekt, alle Kanäle werden als On bzw. OFF mit den entsprechenden Symbolen angezeigt. Beim ersten Scan wurden sogar die Werte des TH 10 ausgegeben und (bei mir) angesagt. Interessanterweise wird das nicht permanent wiederholt.

  • Beim ersten Scan wird Status 0 abgefragt,deshalb vielleicht die Ansage, Bei dem permanenten Scandurchlauf wird erst PulseTime abgefragt und nur wenn diese auf Null ist, wird Power abgefragt. Ich habe bei den ersten Versuchen gleich Power abgefragt, dann aber festgestellt, wenn bei einem Schalter

    Pulsetime läuft spinnt der Schalter bei einer Powerabfrage.

  • OK. Aber das bringt mich auf folgende Idee:

    Wenn du statt http://XXX.XXX.XXX.XXX/cm?cmnd=Power folgendes abfragst http://XXX.XXX.XXX.XXX/cm?cmnd=status dann bekommst du ebenfalls den Power-Zustand gemeldet und zwar ohne dass du das Power-Topic anfassen musst. Beim Multischalter ist die Rückmeldung des Power-Wertes etwas anders nämlich so (Die Werte beziehen sich auf Power ON für den jeweiligen Kanal):

    Kanal Power-Value

    Kanal 1 == 1

    Kanal 2 == 2

    Kanal 3 == 4

    Kanal 4 == 8

    also eine schöne binäre Reihe. Wenn mehrere Kanäle eingeschaltet sind, so ist der ausgegeben Power-Wert die Summe aus den oben stehenden einzelnen Kanalwerten. Beispiel: Wenn Kanal 3 und Kanal 4 eingeschaltet sind, wird für Power der Wert 12 ausgegeben (Summe 8 + 4). Wenn Kanal 1 und Kanal 3 geschaltet sind, ist der Power-Wert 5 (Summe 1 + 4) usw.

    Mir würde die Umstellung der Schleifenabfrage weg von power und stattdessen hin zu status sehr helfen. Dann labert mich mein Snips nicht voll, weil mein Skript nicht auf status reagiert. Die Temperatur und Feuchtigkeits-Ansage habe ich deshalb gehört, weil die Abfrage von Status 0 den Status 11 beinhaltet. Diesen benutze ich für die Temperaturansage. Aber ich kann verstehen, dass du für mich dein Programm nicht umkrempelst :(, aber schön wäre es schon (und ich glaube von der Systematik bzw. Funktion von Status-Meldungen her betrachtet konsequenter). :)

    Und bei allem, was du noch wie oben beschrieben vorhast, sage ich nur weiter so! Ich sehe das wie HoerMirAuf : du setzt das um, was Creationx vor mehr als einem Jahr angekündigt hatten und nicht realisiert haben.

    Martin Hesse : Ich finde auch , dass dieses Projekt eine Rubrik (und Unterstützung), wie von HoerMirAuf vorgeschlagen, verdient!

  • Wegen Wünschen bin ich ja in das Forum gegangen. Das Problem bei deinem Wunsch ist, im Status stehen die Pulsetimes nicht drin, wenn Du bei einem

    Schalter Pulstime setzt wird statt dem Schaltersymbol eine Uhr angezeigt und rechts auf dem Einstellungsstift die runterzählende Zeit. Vielleicht hast Du

    dafür ja eine andere Idee.

  • Ich hab mir daß noch mal überlegt, da ich die Abfrage von Pulsetime ja vorher mach dürfte die Abfrage von Status statt Power kein Problem sein.

    Bin immoment noch an einer Vorlage für Regeln, ich denke da Brauche ich noch etwas Hilfe. Stelle Morgen mal eine Version mit Regeln ins Forum.

    Dann schaue ich mir Dein Problem nocheinmal an. Wenn ich Dich richtig verstanden habe, geht nur Status und nicht Status 0. Was ist mit meinen anderen

    Abfragen (Module/Pulsetime)

  • So, der Tag geht leider schon wieder zu Ende. Neue Version ist am Start.Tasmota

    In den Einstellungen zum Gerät (Bleistift) wird jetzt das Aktivieren der Zeitpläne direkt gespeichert, ohne Speichernknopf, habe nähmlich schon bei Testzwecken mehrfach die Zeitpläne eingestellt, dann aber vergessen in den Einstellungen zu speichern. Auf der Einstellungszeite lässt sich jetzt auch

    ein Entwurf für Regeln öffnen (es wird nichts gespeichert) .Ich denke mal, wenn ich das so hinbekomme ist dass meißte schon abgedeckt. Unten wird eine

    rote Zahl generiert. Wenn jemand für eine dieser Regeln einen Vorschlag hat bitte diese Nummer mit angeben.

  • Erst mal danke für deine Arbeit.

    Ich habe die letzte Version installiert. Danach habe ich in den Einstellungen den IP-Bereich definiert und das Passwort angegeben (bei allen gleich).

    Direkt danach wurden alle 5 Steckdosen sofort gefunden. Bemängeln muss ich aber die graue Schriftfarbe, die auf dem Smartphone sehr schlecht lesbar ist.

    Beim Draufklicken auf einen Eintrag passiert nichts (keinerlei Schaltung). Beim Festhalten wird die Website der Steckdose aufgerufen (funktioniert).

    Wenn ich hinten auf den Stift klicke, kommt eine Unterseite, die direkt mit einer Fehlermeldung halb verdeckt wird.

    Beim Klicken auf "End Application" lande ich wieder auf der Übersichtsseite.

    Nachtrag:

    Samsung S7 mit Android 8

    Meine Hardware@home: Fritzbox 7590AX, 15xTasmota-Geräte, Syno NAS, Raspberry Pi 4 f. PiHole, ioBroker, Docker, TasmoAdmin, Portainer

  • Hast Du der App Berechtigung zum Speichern gegeben, so wie es aussieht ist das Passwort nicht gesetzt,bei dem ersten Bild würden sonnst über der grauen Schrift in schwarz die Sonoff-Namen angezeichgt, das erklärt auch die Fehlermeldung auf dem zweiten Bild.


    Habe gerade gesehen, das nach dem Einstellen nicht direkt aktualisiert wird. Wie sieht es denn nach einem Neustart der App aus?

  • Wenn ich Dich richtig verstanden habe, geht nur Status und nicht Status 0

    So hart würde ich es nicht formulieren ;) aber wenn es nur um den Schaltzustand geht reicht status ohne irgendeine Zahl. Im JSON-String befinden sich dann (auch) die Power-Informationen. status 0 bis 11 sind Spezifikationen von "Gib mir alles" (status 0) über Speicherinformationen (4), Netzwerkinformationen (5) bis zu Sensorinformationen (8 und 11) usw. Status 0 ruft alle Informationen ab, was ja eigentlich nicht erforderlich ist. Pulsetime lässt sich leider nicht über eine status -Meldung ermitteln. Das wäre natürlich praktisch.

    Habe gerade noch etwas entdeckt (wenn mal schon mal genauer in manchen Firmware-Winkel schaut): status 11 liefert auch Power-Informationen und für den 4CH sogar in der Form Power1 : OFF, Power2 : ON, Power3 : ON, Power4 : OFF. Wäre eine Alternative zu status (ohne Zahl).

    Leider kann ich deine neueste Version im Moment nicht testen, weil mein Test-Tablet gerade "auftankt".

  • Perfekt! Läuft alles: Schalter nur Scan beim Start, danach Ruhe, Schalten und Darstellung des Zustandes der Schalter bzw. Kanäle korrekt bei ON und OFF, Gruppen werden geschaltet wie definiert. Saubere Leistung und herzlichen Dank!

    Edit: Soll Zeitpläne und Regeln schon funktionieren? Wenn ja, dann klappt das bei mir nicht.

  • Zeitpläne funktionieren, werden nach speichern auch in der weboberfläche richtig angezeigt. Bei Regeln geht noch garnichts. Wird ein ziemlicher Brocken

    Arbeit. Aber wie gesagt, nichts ist unmöglich. Wenn Du dich mit Regeln auskennst kannst Du mir ja ein paar Beispiele schicken, da brauche ich mir im Web nicht alles zusammensuchen. Wäre schön mit der passenden Nummer aus meinen Regeln (siehe Beitrag 50)

  • Habe gerade gesehen, das nach dem Einstellen nicht direkt aktualisiert wird. Wie sieht es denn nach einem Neustart der App aus?

    Ja, das war es. Heute funktionierte es. :)

    Zwei Wünsche fallen mir ein:

    Hintergrundbild:

    Einstellung vom Hintergrund bzw. eine Auswahl von Farbschemas. Ich würde da z.B. dunkelgrau oder schwarz einstellen um die Lesbarkeit zu erhöhen.

    Schaltfläche:

    Die Schaltung einer Steckdose erfolgt durch einfaches Antippen der Schaltfläche. Das passiert auch gerne, wenn man hinten auf den Stift klicken will. Nur ich habe Steckdosen, wo eine unbeabsichtigte Schaltung fatal wäre (z.B. NAS, Heizung, usw.). Wünschenswert wäre eine andere Art des Schaltens, z.B. ein kleinerer Bereich zum Tippen oder eine Sperrung von Schaltern (2. Abfrage bevor geschaltet wird).

    Meine Hardware@home: Fritzbox 7590AX, 15xTasmota-Geräte, Syno NAS, Raspberry Pi 4 f. PiHole, ioBroker, Docker, TasmoAdmin, Portainer

    2 Mal editiert, zuletzt von Marc (19. Oktober 2019 um 15:40)

  • Hhm habe jetzt mehrere Timer eingerichtet. Zuletzt Timer 4 mit folgenden Einstellungen:

    aktiv: ja (grün)

    Wiederholung nein (grau)

    Wochentag: Sa

    Mode 0

    Time 15:15 +/- 0

    Aktion aus

    Relais 1

    anschließend Speichern getappt.

    Folgender Ausdruck wird übertragen:

    Code
    Schalter/stat/RESULT = {"Timer4":{"Arm":0,"Mode":0,"Time":"00:00","Window":0,"Days":"0000000","Repeat":0,"Output":1,"Action":0}}

    Egal was ich eingebe, es wird immer "Arm" :0 ... und "Time":"00:00" ... und Days "0000000" übertragen.

    Richte ich einen Timer über die Weboberfläche des Schalters ein, wird mir dieser in der Tasmota-App korrekt angezeigt. Aber das Setzen eines Timers über die App will mir nicht gelingen. Die App hat alle Rechte, die sie haben möchte.

    Ich habe mal einen Screenshot vom Tablet gemacht, damit du die Einstellungen sehen kannst:

  • Habe mal ein paar Sachen in der Abfrage bei Timer geändert.Tasmota

    Ich habe keine Ahnung was schief läuft, JoergZ bei Dir schein in Android die Webkomponente eine andere zu sein, als bei mir und meinem Kollegenö, die

    scheinbar Probleme mit Leerzeichen hat. Den Test mit den Zeitplänen hatte ich immer probiert mit allen Wochentagen angehakt. Meinem Kollegen war aufgefallen, das die Zeitpläne nicht richtig funktionieren, wenn der Sonntag (1.Tag) nicht angehakt ist) meine Webkomponente hat dann die Binärzahl falsch

    interpretiert. Ich habe mal eine zusätzliche Textkomponente (ganz unten schwarz) eingefügt, die beim umschalten der Timer die Rückmeldung vom Sonoff anzeigt und beim Speichern die gesendeten Daten. Aber vielleicht funktioniert es ja schon so.

    Marc, zu deinen Problematiken

    die App ist noch eine ganze Weile in Erprobung, Kosmetik und Feintuning werde ich noch nicht vornehmen. Zu dem Schaltproblem könnte man in Einstellungen das Schalten in der Geräteansicht komplett abschalten und nur in der Einzelansicht (langer Tastendruck auf linkes Icon) schalten.