Nochmal "sendmail" mit Rule "wrong parameters"

  • Ich bekomme "sendmail" einfach nicht hin.

    Compilieren klappt mit AtomIO problemlos, Sensor ist ein DS18B20, läuft auch.

    Rule löst auch bei Übertemperatur aus, aber immer "wrong parameters", beim Versuch des Mail Versandes, mehr nicht.


    Ich habe hier so viele verschiedene Threads dazu gefunden. Was ist nun der letzte Stand?


    Dieser?:

    In der "user_config_override.h nur "#define USE_SENDMAIL" ?

    Die Definitionen für Absender, Server, Port usw. müssen / sollen da nicht mehr rein?

    Die kommen in die Konsole bei der Rule?

    Oder kann ich die weiterhin hier "festschnallen"?


    Mein nicht funktionierender Versuch:


    Code
    rule1 on DS18B20#Temperature>27 do sendmail [securesmtp.t-online.de:465:"username"@t-online.de:"password":"Absender"@gmail.com:"Empfänger"@t-online.de:Temperature]Zu hoch endon


    "username", "password" usw. sind natürlich Platzhalter, da müssen meine Zugangsdaten rein, das ist klar.

    Absender kann ich aussuchen, oder muss ich das selbst sein?

    Die Serverdaten habe ich im T-Online Account extra nochmal geprüft. Servername stimmt, Port ist 465, Username und Passwort laufen, Pop3 und IMAP Zugriff ist aktiviert.

    Müssen Absender und Empfänger wieder in spitze Klammern?

    Was mache ich falsch?


    Mit Google und extra generiertem Passwort wegen eingeschränktem Zugriff dort ging es auch nicht.

  • Versuche mal das sendmail über die console zum Laufen zu bringen.

    Die Syntax ist unterschiedlich zwischen ESP32 und ESP8266 ("<" und ">" sind beim ESP32 nicht notwendig).


    Syntax => sendmail [smtpserver:port:user:passwd:<from>:<to>:subject] message

  • Auch aus der Konsole "wrong Parameters". ..

    Ich versuche es mal mit einem Arcor Konto

    Es bleibt bei meinem Verständnisproblem, irgendwas mache ich falsch.

    Ich habe einen ESP8266 D1 Mini Pro mit 4MB, spitze Klammern sind gesetzt.

    Es läuft Tasmota 12.1.1.2, in der user_config_overrride habe ich nur sendmail drin, scripting nicht, weil ich las,

    dass man das nur für sendmail nicht braucht?


    Gelesen hier:

    "https://github.com/arendst/Tasmota/issues/14404"


    Konsolenausgabe ist jetzt diese:


    Code
    235 2.7.0 Authentication successful
    18:32:33.777 MAI: > C: MAIL FROM:sender@arcor.de
    18:32:33.786 MAI: < S: 250 2.1.0 Ok
    18:32:33.886 MAI: > C: RCPT TO:empfänger@arcor
    18:32:35.888 MAI: < S: 
    18:32:35.893 RSL: RESULT = {"Sendmail":"Wrong parameters"}


    S: soll Subject sein? Klemmt es da?

  • Hmmmm .... bei genauso. Bekomme es weder mit Arcor noch mit T-Online zum laufen.


    Das einzige was klappt ist mit gmail und App-Passwort.

    Damit geht's !!

    benzino77 Tasmocompiler

    Gitpod Master 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

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/4xGoogle-Home-Mini

  • Ja, genau, das klappt, damit kann ich auch eine Mail nach t-online senden.

    Gut dann muss das der Gmail Server erledigen.


    Komisch, in anderen Threads las ich das Arcor und GMX auch gehen sollen.

    Wo trage ich nun aber das EMail Timeout ein? Also das nicht ständig Mails gesendet werden,

    sondern nur alle 30 Minuten?

    Oder nur einmal mit "rule1 5" ?

    DANKE!

  • Komisch, in anderen Threads las ich das Arcor und GMX auch gehen sollen.

    Ich bin auch der Meinung das das mal gegangen ist .... ist mir aber biher nicht aufgefallen weil ich eh nur den gmail Account dafür verwende.


    Was meiner Meinung nach interessanter als eine Email Benachrichtigung ist, ist eine PushUp über Telegram.

    Telegram message notification support · Issue #8619 · arendst/Tasmota
    Have you looked for this feature in other issues and in the docs? Thank you for this great software. Yes, I searched in the repsitory and can not see related…
    github.com

    benzino77 Tasmocompiler

    Gitpod Master 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

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/4xGoogle-Home-Mini

  • Hab ich selbst am Start für meine Wassermelder.

    Man braucht dann nur die Telegramm App, muss nen Bot anlegen. Mit dem bot token und der Chatid kann man sich dann nicht nur via http API Nachrichten schicken sondern eben auch über tasmota


    Hier mal auf die schnelle nenn Link wie das mit dem bot geht ...


    Einführung in Telegram-Bots: Nachrichten und Dateien aus dem Terminal senden
    Telegram erlaubt Automatisierung über die Telegram-Bots – kleine Roboter-Accounts. Wir zeigen Schritt für Schritt, wie Ihr die API nutzt – ohne Vorwissen!
    www.tutonaut.de

    benzino77 Tasmocompiler

    Gitpod Master 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

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/4xGoogle-Home-Mini

  • Soweit bin ich schon. Sendet jetzt bei über einem bestimmten Temperaturwert eine Nachricht und unter dieser auch eine.

    Aber ich schaffe es nicht, das er über einer bestimmten Temperatur weiter alle 20 Minuten den Wert sendet.

    Gibt es in den Rules einen "Timer" mit dem ich die Rule eine Zeit lang deaktivieren kann?


    Im Augenblick mache ich das mit einer 2. Rule, die beim unterschreiten die erste Rule wieder aktiviert und auf "once" geschaltet ist.

    Die erste Rule schaltet sich nach dem senden der Nachricht selbst ab.

    Ich denke immer noch zu linear.

    Da fehlt es wieder...


    Warum geht "delay 3000" hier nicht??

    "on DS18B20#Temperature>27 do backlog delay 3000; tmsend Die Temperatur beträgt %value% Grad! endon"

  • Ich denk mal der Delay wird schon gehen. Sind aber nur 5 Minuten die 3000

    Nimm doch nen Ruletimer.


    on DS18B20#Temperature>27 do ruletimer1 1200 endon

    on rules#timer=1 do  tmsend Die Temperatur beträgt %value% Grad! endon



    An sich machst du das schon richtig mit aktivieren/deaktivieren von einem Ruleset.

    Man kann aber auch mit dem break Befehl spielen.


    on DS18B20#Temperature<[WERT] do <irgendwas> break

    on DS18B20#Temperature>[höchster WERT] do <was anderes> break

    on DS18B20#Temperature>[zweithöchster WERT] do <dies> break

    on DS18B20#Temperature>[dritthöchster WERT] do <jenes> endon


    in Verbindung mit ONCE recht nützlich.

    Aber ich schaffe es nicht, das er über einer bestimmten Temperatur weiter alle 20 Minuten den Wert sendet.

    z.B. in ein Ruleset ohne once (Rule1)

    Code
    on DS18B20#Temperature do var1 %value% endon
    on rules#timer=1 do backlog tmsend Die Temperatur beträgt %var1% Grad!; ruletimer1 1200 endon


    in ein anderes Ruleset mit ONCE (Rule2)

    Code
    on var1#state<[WERT] do backlog tmsend Die Temperatur beträgt %value% Grad!; ruletimer1 0 endon
    on var1#state>[WERT] do backlog tmsend Die Temperatur beträgt %value% Grad!; ruletimer1 1200 endon

    benzino77 Tasmocompiler

    Gitpod Master 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

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/4xGoogle-Home-Mini

    5 Mal editiert, zuletzt von HoerMirAuf ()

  • Danke für die Hilfe.

    Zitat


    Ich denk mal der Delay wird schon gehen. Sind aber nur 5 Minuten die 3000

    Leider nicht, bei meinem Code kommt alle 1 Sekunde eine Message bei Telegram an. Das ist das was mich wunderte.

    Alle 5 oder 20 Minuten wäre schon ok gewesen.


    RuleTimer und das hier:

    Zitat

    A Backlog command without an argument clears an possible existing Backlog queue.


    Example

    in case of command Backlog Power1 OFF; Delay 600; Power1 ON the usage of an additional Backlog command without any argument within the delay time of 1 minute will delete the whole queue Power1 OFF; Delay 600; Power1 ON. Therefore Power1 ON command will not be executed and the power would remain off.


    verstehe ich nicht. Was für ein Argument fehlt denn da? (Eine Bedingung für "POWER1 off")?

    Bei Ruletimer dachte ich an die "Treppenlichtfunktion"...

    Eigentlich ist es aber das, was ich gesucht habe. Das probiere ich heute Abend aus.


    Ich denke ich habe Deine Beispiele grundlegend verstanden. die Feinheiten erkunde ich mit "Trial and Error".

    Mal sehen, ich habe noch ein OLED Display Shield mit dem SSD1306 für den D1 Mini bestellt, ob das die aktuelle Temperatur auch noch anzeigen kann.

  • Ich verstehe es nicht und im Manual gibt es nichts zu lesen außer:

    Zitat
    Rules#Timer=<x>when countdown RuleTimer<x> expires (x = 1..8).

    Rules#Timer=1 wäre also "ruletimer1" auf den sich der Countdown bezieht und bei Stand="0" auslöst? (8 Stück gibt es?)

    Ich setze also mit "ruletimer1 20" den Ruletimer"1" auf 20 Sekunden.

    Dann sollte der runterlaufen im Sekundentakt bis auf "0"?


    Mit dem Beispiel

    Code
    on DS18B20#Temperature>27 do ruletimer1 20 endon
    on rules#timer=1 do POWER toggle endon

    wird der bei Temperatur größer 27 ständig Ruletimer1 auf 20 gesetzt. der läuft nie runter.

    Daher wird die 2 Zeile, die dann bei Countdown= 0 auslösen soll, nie ausgeführt.

    auch mit "break" am Ende statt "endon" läuft das trotzdem weiter bis die Temp. wieder unter 27 ist.

    Was isn da los?


    Wie teste ich den Ruletimer?


    EDIT1:

    So ich habs hinbekommen, aber anders als gedacht:

    Code
    Rule1 on DS18B20#Temperature>27 do backlog POWER Toggle; ruletimer1 20 endon
    Rule2 on Rules#Timer=1 do rule1 1 endon

    Rule1 läuft auf "once" dabei.

    Nun toggelt er über 27 Grad alle 20 Sekunden die Onboard LED, darunter nicht.

    Der Ruletimer läuft also im Hintergrund und wird nur beim setzen eines Wertes in der Konsole angezeigt. Manno...

  • Rules#Timer=1 wäre also "ruletimer1" auf den sich der Countdown bezieht und bei Stand="0" auslöst? (8 Stück gibt es?)

    Ich setze also mit "ruletimer1 20" den Ruletimer"1" auf 20 Sekunden.

    Dann sollte der runterlaufen im Sekundentakt bis auf "0"?

    Richtig!


    Mit ruletimer1 0 würde der laufende Ruletimer manuel deaktiviert.

    wird der bei Temperatur größer 27 ständig Ruletimer1 auf 20 gesetzt. der läuft nie runter.

    Sowas muss man dann, wie du bereits erwähnt hast, auf ONCE setzen das die Rule nur einmal beim Bedingungserfüllung feuert.

    Rule1 läuft auf "once" dabei.

    Nun toggelt er über 27 Grad alle 20 Sekunden die Onboard LED, darunter nicht.

    Der Ruletimer läuft also im Hintergrund und wird nur beim setzen eines Wertes in der Konsole angezeigt. Manno...

    Hast du ja auch gemacht wie ich sehe.

    Daher wird die 2 Zeile, die dann bei Countdown= 0 auslösen soll, nie ausgeführt.

    auch mit "break" am Ende statt "endon" läuft das trotzdem weiter bis die Temp. wieder unter 27 ist.

    Was isn da los?

    Naja ... du hast ja auch nur eine Bedingung GRÖßER ALS, keine KLEINER ALS.

    Code
    Rule1
    on DS18B20#Temperature>27 do ruletimer1 20 endon
    on DS18B20#Temperature<27 do ruletimer1 0 endon
    
    Rule2
    on Rules#Timer=1 do rule1 1 endon

    Und dann bitte den Power auch mit Power<1...8> definieren. Sollte zwar für den Power1 gehen aber wer weiß, hat auch schon zu Problemen geführt.



    Wenn du in der Konsole einfach "ruletimer" eingibst werden die Ruletimer 1...8 mit dem aktuellen Value angezeigt.


    Obacht bei ONCE !!!

    Rule1 läuft auf "once" dabei.

    Nun toggelt er über 27 Grad alle 20 Sekunden die Onboard LED, darunter nicht.

    Der Ruletimer läuft also im Hintergrund und wird nur beim setzen eines Wertes in der Konsole angezeigt. Manno...

    Wenn ONCE gesetzt ist, feuert die Rule nur einmal bei temp >27 Grad

    Wenn die trotzdem aden Ruletimer neu starte, bedeutet das, das Deine Temperatur zwischenzeitlich UNTER 27 Grad war, damit ist die Bedinung ÜBER 27 Grad nicht mehr erfüllt gewesen und die Rule greift erneut. Solange der WERT über 27 ist und bleibt würde nicht erneut getriggert werden.

    Deshalb geht eine ruletimer auswertung auch nicht in einem Ruelset mit ONCE, denn es wird ja nie ein "Rules#timer1 0" gesendet sondern immer nur "1" und damit ändert sich die Bedinung nicht und ein Ruletimer triggert nur einmalig

    benzino77 Tasmocompiler

    Gitpod Master 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

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/4xGoogle-Home-Mini

    Einmal editiert, zuletzt von HoerMirAuf ()