Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. E-mail Script für Statusmeldungen

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

E-mail Script für Statusmeldungen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
26 Beiträge 7 Kommentatoren 5.9k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • C Offline
    C Offline
    crepp
    schrieb am zuletzt editiert von
    #15

    Hallo,

    Habs jetzt eingerichtet, hat auf Anhieb funktioniert. Im Log kam beim ersten Start diese Meldung:
    686_error.png
    Ist das ein Problem ?

    Ausserdem wurden zwei Datenpunkte angelegt:
    686_error2.png

    Diese ändern sich aber trotz Pumpenlaufs nicht. Sollten die sich nicht selbstständig aktualisieren ?

    Gruß

    crepp

    Gruß

    crepp

    –-

    CCU2 / 2x RaspberryPi / 2x Amazon Echo Dot / Milight LED / Philips Hue (z.Z. 16 Homematic-Geräte)

    Kodi auf W10pro und OSMC

    DVBViewer MediaServer auf W10

    1 Antwort Letzte Antwort
    0
    • C Offline
      C Offline
      crepp
      schrieb am zuletzt editiert von
      #16

      Kommando zurück, Die Anzeige ist in KW- deshalb die Änderung erst nach längerer Zeit (Meine Pumpe hat ca. 650W)

      Jetzt funktioniert alles Super !

      Gruß

      crepp

      Gruß

      crepp

      –-

      CCU2 / 2x RaspberryPi / 2x Amazon Echo Dot / Milight LED / Philips Hue (z.Z. 16 Homematic-Geräte)

      Kodi auf W10pro und OSMC

      DVBViewer MediaServer auf W10

      1 Antwort Letzte Antwort
      0
      • C Offline
        C Offline
        crepp
        schrieb am zuletzt editiert von
        #17

        Hab hier noch etwas im Logfile stehen:

        javascript-0 2016-07-01 16:02:07.174 warn Wrong type of javascript.0.PoolpumpeAn.Tag: "string". Please fix, while deprecated and will not work in next versions.

        Kann mir jemand weiterhelfen ?

        Gruß

        crepp

        Gruß

        crepp

        –-

        CCU2 / 2x RaspberryPi / 2x Amazon Echo Dot / Milight LED / Philips Hue (z.Z. 16 Homematic-Geräte)

        Kodi auf W10pro und OSMC

        DVBViewer MediaServer auf W10

        1 Antwort Letzte Antwort
        0
        • P Offline
          P Offline
          Phantomio
          schrieb am zuletzt editiert von
          #18

          Hallo crepp,

          ich glaube ich stehe auf dem Schlauch 8-)

          Warum ist die Anzeige KW für die Pumpe in dem Fall wichtig?

          Ist doch ein Zeitzähler (in Minuten). Der sollte wenn alles funktioniert "Live" alle paar Sekunden aktualisiert werden.

          Entweder unter Objekte javascript … oder den Datenpunkt im vis einbinden um die Laufzeit abzulesen.

          Zu dem Log Eintrag:

          Welche Java Version hast du?

          In der Readme steht etwas:

          Siehe Changelog 2.1.2 / 2.1.3 // (bluefox) fix warning with wrong types

          https://github.com/iobroker/ioBroker.ja … /README.md

          Gruß

          Phantomio

          Geräte: CCU2, RaspberryPi2,

          Adapter: email, feiertage, flot, fritzbox, history, hm-rpc.0, hm-rpc.1 (Für Homematic IP), ical, javascript, sayit, scenes, socketio, sonos, tankerkoenig, telegram, text2command, vis, web, yr

          1 Antwort Letzte Antwort
          0
          • P Offline
            P Offline
            Phantomio
            schrieb am zuletzt editiert von
            #19

            update von 18:38 Uhr

            Ich habe gerade alles auf den neuesten Stand gebracht (Die Versionen die im Admin GUI angeboten werden).

            Jetzt habe ich auch diese Meldungen im Log 8-)

            javascript.0	2016-07-01 18:39:59.726	warn	javascript.0 Wrong type of javascript.0.WohnzimmerTerrassentuerOffen.Tag: "string". Please fix, while deprecated and will not work in next versions.
            javascript.0	2016-07-01 18:39:53.709	warn	javascript.0 Wrong type of javascript.0.WohnzimmerTerrassentuerOffen.Tag: "string". Please fix, while deprecated and will not work in next versions.
            javascript-0	2016-07-01 18:39:47.690	warn	Wrong type of javascript.0.WohnzimmerTerrassentuerOffen.Tag: "string". Please fix, while deprecated and will not work in next versions.
            javascript-0	2016-07-01 18:39:41.643	warn	Wrong type of javascript.0.WohnzimmerTerrassentuerOffen.Tag: "string". Please fix, while deprecated and will not work in next versions.
            javascript-0	2016-07-01 18:39:35.632	warn	Wrong type of javascript.0.WohnzimmerTerrassentuerOffen.Tag: "string". Please fix, while deprecated and will not work in next versions.
            

            Das Müllt einem bei der Vorgehensweise mit den Zählern schon ganz schon das Log zu (Ich zähle Fenster / Türen / Poolpumpe usw. 11 Stück).

            Deswegen habe ich erst einmal in den Instanzen die Log Stufe vom javascript Adapter auf error gestellt.

            Gruß

            Phantomio

            Geräte: CCU2, RaspberryPi2,

            Adapter: email, feiertage, flot, fritzbox, history, hm-rpc.0, hm-rpc.1 (Für Homematic IP), ical, javascript, sayit, scenes, socketio, sonos, tankerkoenig, telegram, text2command, vis, web, yr

            1 Antwort Letzte Antwort
            0
            • C Offline
              C Offline
              crepp
              schrieb am zuletzt editiert von
              #20

              Das werde ich auch tun bis es vielleicht mal eine Lösung gibt, ich habe aber noch ein ganz anderes Problem:

              Mein Zähler (Poolpumpe nullt sich nicht um 24:00. Er zählt also fröhlich weiter die kW. Muss ich da etwas manuell tun.

              Gruß

              crepp

              Gruß

              crepp

              –-

              CCU2 / 2x RaspberryPi / 2x Amazon Echo Dot / Milight LED / Philips Hue (z.Z. 16 Homematic-Geräte)

              Kodi auf W10pro und OSMC

              DVBViewer MediaServer auf W10

              1 Antwort Letzte Antwort
              0
              • P Offline
                P Offline
                Phantomio
                schrieb am zuletzt editiert von
                #21

                Hey,

                Ich verstehe immer noch nicht was du mit KW meinst.

                In dem Script steht ja "hm-rpc.0.KEQxxxxxxx.1.STATE"; … .STATE sagt ja nur ob die Pumpe an oder aus ist.

                Also wird die Laufzeit der Pumpe gezählt. Nicht der Verbrauch.

                mit dem Script wird um 00:00 Uhr die Laufzeit in den Datenpunkt PoolpumpeAn.Gestern geschrieben.

                Der Datenpunkt für den Tag wird auf 0 gesetzt.

                createState('PoolpumpeAn.Gestern',                      0,     {read: true, write: true, type: 'number',  name: "Poolpumpe An Gestern"});
                
                schedule("0 0 * * *", function () {
                    setState("javascript.0.PoolpumpeAn.Gestern",                    getState("javascript.0.PoolpumpeAn.Tag"));
                    setState("javascript.0.PoolpumpeAn.Tag",                        0); 
                });
                
                

                Gruß

                Phantomio

                Geräte: CCU2, RaspberryPi2,

                Adapter: email, feiertage, flot, fritzbox, history, hm-rpc.0, hm-rpc.1 (Für Homematic IP), ical, javascript, sayit, scenes, socketio, sonos, tankerkoenig, telegram, text2command, vis, web, yr

                1 Antwort Letzte Antwort
                1
                • P Offline
                  P Offline
                  pix
                  schrieb am zuletzt editiert von
                  #22

                  @Phantomio:

                  ich habe das bei mir so gelöst:

                  createState('PoolpumpeZaehler.Tag',                     0,     {read: true, write: true, type: 'number',  name: "Poolpumpe"});
                  createState('PoolpumpeAn.Tag',                          0,     {read: true, write: true, type: 'number',  name: "Poolpumpe An"});
                  
                  var Poolpumpe                       = "hm-rpc.0.KEQxxxxxxx.1.STATE";                    // Poolpumpe Aktor:1.STATE
                  var PoolpumpeAn                     = "javascript.0.PoolpumpeAn.Tag";                   // Poolpumpe An
                  
                  on ({id: Poolpumpe,                     change:  "gt"},     fPoolpumpe);
                  on ({id: PoolpumpeAn,                   change:  "any"},    fPoolpumpeAn);
                  
                  function fPoolpumpe (){
                      setState("javascript.0.PoolpumpeZaehler.Tag", ++getState("javascript.0.PoolpumpeZaehler.Tag").val); 
                      newvalue = Number(getState(PoolpumpeAn).val);
                      newvalue = newvalue + 0.01; 
                      newvalue = newvalue.toFixed(2);
                      setState(PoolpumpeAn, newvalue); 
                  }
                  
                  function fPoolpumpeAn(){
                      if (getState(Poolpumpe).val === true){
                          newvalue = Number(getState(PoolpumpeAn).val);
                          newvalue = newvalue + 0.10; 
                          newvalue = newvalue.toFixed(2);
                          setStateDelayed (PoolpumpeAn, newvalue, 6000);
                          if (newvalue >= 300 && newvalue <= 300.09){cb(fgEMail("test@test.de", "Die Poolpumpe läuft bereits über 5 Stunden!", ""));}
                      }
                  }
                  
                  ```` `  
                  

                  Der Fehler im Log kommt daher, weil ein String in einen Number-State geschrieben werden soll:

                      newvalue = newvalue.toFixed(2);
                      setState(PoolpumpeAn, newvalue); 
                  
                  

                  toFixed() erzeugt einen String. Der String muss dann wieder in eine Zahl gewandelt werden:

                  Entweder

                      newvalue = parseFloat(newvalue.toFixed(2));
                      setState(PoolpumpeAn, newvalue); 
                  
                  ````oder````
                      newvalue = newvalue.toFixed(2);
                      setState(PoolpumpeAn, parseFloat(newvalue)); 
                  
                  

                  Und in diesem Skript fehlt ein .val
                  @Phantomio:

                  Hey,

                  Ich verstehe immer noch nicht was du mit KW meinst.

                  In dem Script steht ja "hm-rpc.0.KEQxxxxxxx.1.STATE"; … .STATE sagt ja nur ob die Pumpe an oder aus ist.

                  Also wird die Laufzeit der Pumpe gezählt. Nicht der Verbrauch.

                  mit dem Script wird um 00:00 Uhr die Laufzeit in den Datenpunkt PoolpumpeAn.Gestern geschrieben.

                  Der Datenpunkt für den Tag wird auf 0 gesetzt.

                  createState('PoolpumpeAn.Gestern',                      0,     {read: true, write: true, type: 'number',  name: "Poolpumpe An Gestern"});
                  
                  schedule("0 0 * * *", function () {
                      setState("javascript.0.PoolpumpeAn.Gestern",                    getState("javascript.0.PoolpumpeAn.Tag"));
                      setState("javascript.0.PoolpumpeAn.Tag",                        0); 
                  });
                  
                  ```` `  
                  

                  lieber so:

                  ! createState('PoolpumpeAn.Gestern', 0, {read: true, write: true, type: 'number', name: 'Poolpumpe An Gestern'}); ! schedule("0 0 * * *", function () { setState("javascript.0.PoolpumpeAn.Gestern", getState("javascript.0.PoolpumpeAn.Tag").val); setState("javascript.0.PoolpumpeAn.Tag", 0); }); !

                  Gruß

                  Pix

                  ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                  1 Antwort Letzte Antwort
                  0
                  • P Offline
                    P Offline
                    Phantomio
                    schrieb am zuletzt editiert von
                    #23

                    Hallo pix,

                    funktioniert beides.

                    das hier:````
                    setState("javascript.0.PoolpumpeAn.Gestern", getState("javascript.0.PoolpumpeAn.Tag").val);

                    habe ich auch noch abgeändert in:
                    

                    setState("javascript.0.PoolpumpeAn.Gestern", parseFloat(getState("javascript.0.PoolpumpeAn.Tag").val));

                    Hatte nach dem Umstellen der java Instanz zurück auf info wieder eine error Meldung im Log:
                    
                    javascript-0 2016-07-02 12:38:29.081 warn Wrong type of javascript.0.PoolpumpeAn.Gestern: "string". Please fix, while deprecated and will not work in next versions.
                    
                    Mit dem parseFloat ist sie weg
                    
                    Danke :D
                    
                    Gruß
                    
                    Phantomio

                    Geräte: CCU2, RaspberryPi2,

                    Adapter: email, feiertage, flot, fritzbox, history, hm-rpc.0, hm-rpc.1 (Für Homematic IP), ical, javascript, sayit, scenes, socketio, sonos, tankerkoenig, telegram, text2command, vis, web, yr

                    1 Antwort Letzte Antwort
                    0
                    • C Offline
                      C Offline
                      crepp
                      schrieb am zuletzt editiert von
                      #24

                      Hallo phantomio, du hast natürlich recht. Ich weiss gar nicht wie ich darauf komme das das Kilowattstunden sind. Also gut, Laufzeit.

                      Das Problem mit dem Nullen der Betriebsstunden lag wahrscheinlich daran, dass ich das Script für das Rücksetzen des Zählers noch gar nicht am Laufen hatte. Habs jetzt erst mal eingerichtet und sehe morgen früh ob es funktioniert.

                      Gruß crepp

                      Gruß

                      crepp

                      –-

                      CCU2 / 2x RaspberryPi / 2x Amazon Echo Dot / Milight LED / Philips Hue (z.Z. 16 Homematic-Geräte)

                      Kodi auf W10pro und OSMC

                      DVBViewer MediaServer auf W10

                      1 Antwort Letzte Antwort
                      0
                      • S Offline
                        S Offline
                        Sven2013
                        schrieb am zuletzt editiert von
                        #25

                        @Sven2013:

                        Hallo Leute,

                        ich bin nun schonmal einen Schritt weiter:

                        Hier der aktuelle Code für meine Mails, nicht schön, funktioniert aber bisher:

                         sendTo("email", {
                              from:    "Haus@tengeler.net",
                               to:      "Haus@tengeler.net",
                               subject: "Statusinformationen Haus Tengeler",
                                //text:    strText
                            //HTML body
                                html:
                                  '
                        
                        <u>So wird das Wetter heute:</u>
                        
                        ' +
                                  'Guten Morgen Sven, die aktuelle Temperatur beträgt ' + getState("hm-rpc.0.KEQ1057664.1.TEMPERATURE").val +'°C '+ 
                                  'und es wird heute voraussichtlich bis zu ' + getState("yr.0.forecast.day0.temperature_max").val +'°C warm.' + '
                        ' + '
                        ' +
                                   getState("yr.0.forecast.html").val + '
                        ' +
                                   getState("yr.0.forecast.diagram").val + '
                        ' +
                                   
                                   '
                        
                        <u>Mülltermine:</u>
                        
                        ' +
                                   getState("ical.1.data.html").val + '
                        ' +
                                   
                                   '
                        
                        <u>Terminübersicht für die nächsten Tage:</u>
                        
                        ' +
                                   getState("ical.0.data.html").val + '
                        ' +
                                   
                                   '
                        
                        <u>Geburtstage für die nächsten Tage:</u>
                        
                        ' +
                                   getState("ical.2.data.html").val + '
                        ' +
                                   
                                  '
                        
                        <u>Pollenflug für Heute:</u>
                        
                        ' +
                                  'Ambrosia     ' + getState("javascript.1.WetterOnline.pollenvorhersage.heute.ambrosia").val + '
                        ' +
                                  'Ampfer       ' + getState("javascript.1.WetterOnline.pollenvorhersage.heute.ampfer").val + '
                        ' +
                                  'Beifuß       ' + getState("javascript.1.WetterOnline.pollenvorhersage.heute.beifuß").val + '
                        ' +
                                  'Birke        ' + getState("javascript.1.WetterOnline.pollenvorhersage.heute.birke").val + '
                        ' +
                                  'Buche        ' + getState("javascript.1.WetterOnline.pollenvorhersage.heute.buche").val + '
                        ' +
                                  'Eiche        ' + getState("javascript.1.WetterOnline.pollenvorhersage.heute.eiche").val + '
                        ' +
                                  'Erle         ' + getState("javascript.1.WetterOnline.pollenvorhersage.heute.erle").val + '
                        ' +
                                  'Gräser       ' + getState("javascript.1.WetterOnline.pollenvorhersage.heute.gräser").val + '
                        ' +
                                  'Hasel        ' + getState("javascript.1.WetterOnline.pollenvorhersage.heute.hasel").val + '
                        ' +
                                  'Pappel       ' + getState("javascript.1.WetterOnline.pollenvorhersage.heute.pappel").val + '
                        ' +
                                  'Roggen       ' + getState("javascript.1.WetterOnline.pollenvorhersage.heute.roggen").val + '
                        ' +
                                  'Ulme         ' + getState("javascript.1.WetterOnline.pollenvorhersage.heute.ulme").val + '
                        ' +
                                  'Wegerich     ' + getState("javascript.1.WetterOnline.pollenvorhersage.heute.wegerich").val + '
                        ' +
                                  'Weide        ' + getState("javascript.1.WetterOnline.pollenvorhersage.heute.weide").val + '
                        ' +
                                  
                                  '
                        
                        <u>Günstigste Tankstelle Heute:</u>
                        
                        ' +
                                  'Name:             ' + getState("tankerkoenig.0.stations.cheapest.e5.name").val + '
                        ' +
                                  'Preis für Super:  ' +getState("tankerkoenig.0.stations.cheapest.e5.combined").val + '
                        ' +
                                  'Ladenzeit:        ' +getState("tankerkoenig.0.stations.cheapest.e5.status").val + '
                        ' +
                                  
                                  '
                        
                        <u>Temperaturen & Luftfeuchte:</u>
                        
                        ' +
                                  'Garten       ' + getState("hm-rpc.0.KEQ1057664.1.TEMPERATURE").val +'°C | ' + getState("hm-rpc.0.KEQ1057664.1.HUMIDITY").val + '%
                        ' +
                                  'Wohnzimmer   ' + getState("hm-rpc.0.LEQ0228650.1.TEMPERATURE").val +'°C | ' + getState("hm-rpc.0.LEQ0228650.1.HUMIDITY").val + '%
                        ' +
                                  'Moritz       ' + getState("hm-rpc.0.NEQ0122832.1.TEMPERATURE").val +'°C | ' + getState("hm-rpc.0.NEQ0122832.1.HUMIDITY").val + '%
                        ' +
                                  'Nele         ' + getState("hm-rpc.0.NEQ0122927.1.TEMPERATURE").val +'°C | ' + getState("hm-rpc.0.NEQ0122927.1.HUMIDITY").val + '%
                        ' +
                                  'Schlafzimmer ' + getState("hm-rpc.0.NEQ0122846.1.TEMPERATURE").val +'°C | ' + getState("hm-rpc.0.NEQ0122846.1.HUMIDITY").val + '%
                        ' +
                                  '
                        ' + 
                                  
                                  '
                        
                        <u>Statistik der Pooldaten:</u>
                        
                        ' +
                                  'Poolpumpe    ' + getState("javascript.1.Betriebsstundenzaehler.Counter.Poolpumpe.DAY").val +'(HEUTE) ' + '
                        ' +
                                  'Poolpumpe    ' + getState("javascript.1.Betriebsstundenzaehler.Counter.Poolpumpe.MONTH").val +'(Monat) ' + '
                        ' +
                                  'Poolpumpe    ' + getState("javascript.1.Betriebsstundenzaehler.Counter.Poolpumpe.YEAR").val +'(Jahr) ' + '
                        ' +
                                  '
                        ' +
                                  
                                  'Solarlaufzeit ' + getState("javascript.1.Betriebsstundenzaehler.Counter.Solaranlage.DAY").val +'(HEUTE) ' + '
                        ' +
                                  'Solarlaufzeit ' + getState("javascript.1.Betriebsstundenzaehler.Counter.Solaranlage.MONTH").val +'(Monat) ' + '
                        ' +
                                  'Solarlaufzeit ' + getState("javascript.1.Betriebsstundenzaehler.Counter.Solaranlage.YEAR").val +'(Jahr) ' + '
                        ' +
                                  '
                        ' +
                                  
                                  '
                        ```' });`
                        
                        Hierzu habe ich noch Fragen:
                        
                        1\. Wie bekomme ich statt dem Link das Bild angezeigt?
                        
                        2\. Die Kalender enthalten Daten von mehreren Tagen, ich möchte aber nur den heutigen Tag in der E-mail angezeigt bekommen.
                        
                        3\. Wie kann ich die Pollen nur anzeigen lassen, wenn es einen Pollenflug gibt?
                        
                        4\. Wie bekomme ich die "Antworten" sauber in eine Linie untereinader sortiert? (Temperaturen und Luftfeuchte da sollen die Striche untereinander) Oder bei Günstigste Tankstelle soll es so aussehen:
                        
                        Name: Esso
                        
                        Preis für Super: 1,99€
                        
                        Ladenzeit: offen
                        
                         filename="Email.png" index="1">~~
                         filename="Email2.png" index="0">~~
                        
                        Danke für eure Mühe… `  
                        

                        Ist da nochmal jemand so nett und schaut auf meine Fragen?

                        Gruß Sven

                        1 Antwort Letzte Antwort
                        0
                        • P Offline
                          P Offline
                          Phantomio
                          schrieb am zuletzt editiert von
                          #26

                          Halo Sven,

                          die Antworten untereinander bekommst Du so:

                           var txtPoolpumpe     = "";
                              var txtGaragentor    = "";
                              var txtTerrassentuer = "";
                              var txtBadRechts     = "";
                              var txtBadLinks      = "";
                              var txtKind2         = "";
                              var txtKind1         = "";
                              var txtSchlafen      = "";
                              var txtArbeit        = "";
                              if (getState("hm-rpc.0.KEQxxxxxxx.1.STATE").val)      {txtPoolpumpe     = "An"}  else{txtPoolpumpe  = "Aus"}
                              if (getState("hm-rpc.0.MEQxxxxxxx.1.STATE").val)      {txtGaragentor    = "Auf"} else{txtGaragentor = "Zu"}
                              if (getState("hm-rpc.0.KEQxxxxxxx.1.STATE").val === 0){txtTerrassentuer = "Zu"}
                              if (getState("hm-rpc.0.KEQxxxxxxx.1.STATE").val === 1){txtTerrassentuer = "gekippt"}
                              if (getState("hm-rpc.0.KEQxxxxxxx.1.STATE").val === 2){txtTerrassentuer = "ganz auf"}
                              if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 0){txtBadRechts     = "Zu"}
                              if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 1){txtBadRechts     = "gekippt"}
                              if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 2){txtBadRechts     = "ganz auf"}
                              if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 0){txtBadLinks      = "Zu"}
                              if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 1){txtBadLinks      = "gekippt"}
                              if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 2){txtBadLinks      = "ganz auf"}
                              if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 0){txtKind2         = "Zu"}
                              if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 1){txtKind2         = "gekippt"}
                              if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 2){txtKind2         = "ganz auf"}
                              if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 0){txtKind1         = "Zu"}
                              if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 1){txtKind1         = "gekippt"}
                              if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 2){txtKind1         = "ganz auf"}
                              if (getState("hm-rpc.0.MEQxxxxxxx.1.STATE").val)      {txtSchlafen      = "Auf"} else{txtSchlafen = "Zu"}
                              if (getState("hm-rpc.0.MEQxxxxxxx.1.STATE").val)      {txtArbeit        = "Auf"} else{txtArbeit = "Zu"}
                              sendTo("email", {
                              from:    "iobroker@edv-team.de",
                              to:      strTo,
                              subject: strBetreff,
                              //text:    strText
                              //HTML body
                           html:   '```
                          ' +
                                      '**Termine:**' + '
                          ' +
                                      getState("ical.0.data.html").val + '
                          ' +
                                      '
                          ' +
                                      '**Temperaturen & Luftfeuchte:**' + '
                          ' +
                                      'es wird heute voraussichtlich bis zu ' + getState("yr.0.forecast.day0.temperature_max").val +'°C warm.' + '
                          ' + '
                          ' +
                                      getState("yr.0.forecast.html").val + '
                          ' +
                                      'Pool       ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C' + '
                          ' +
                                      'Garten     ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C | ' + getState("hm-rpc.0.LEQxxxxxxx.1.HUMIDITY").val + '%
                          ' +
                                      'Wohnzimmer ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C | ' + getState("hm-rpc.0.LEQxxxxxxx.1.HUMIDITY").val + '%
                          ' + 
                                      'Bad        ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C | ' + getState("hm-rpc.0.LEQxxxxxxx.1.HUMIDITY").val + '%
                          ' +
                                      'Kind2      ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C | ' + getState("hm-rpc.0.LEQxxxxxxx.1.HUMIDITY").val + '%
                          ' +
                                      'Kind1      ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C | ' + getState("hm-rpc.0.LEQxxxxxxx.1.HUMIDITY").val + '%
                          ' +
                                      'Schlafen   ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C | ' + getState("hm-rpc.0.LEQxxxxxxx.1.HUMIDITY").val + '%
                          ' +
                                      'Arbeit     ' + (getState("hm-rpc.0.LEQxxxxxxx.4.ACTUAL_TEMPERATURE").val).toFixed(1) +'°C' + '
                          ' +
                                      '
                          ' +
                                      '**Offen / Laufzeiten:** 
                          '+
                                      '' +
                                      '' +
                                      '' +
                                      '' +
                                      '' + 
                                      '' + 
                                      '' + 
                                      '' + 
                                      '' + 
                                      '
                          
                          | Poolpumpe    | ' + getState("javascript.0.PoolpumpeAn.Tag").val                  + ' Min | | | ' + getState("javascript.0.PoolpumpeZaehler.Tag").val               + ' | | | ' + txtPoolpumpe     + ' |
                          | Garagentor   | ' + getState("javascript.0.GaragentorOffen.Tag").val              + ' Min | | | ' + getState("javascript.0.GaragentorZaehler.Tag").val              + ' | | | ' + txtGaragentor    + ' |
                          | Terrassentür | ' + getState("javascript.0.WohnzimmerTerrassentuerOffen.Tag").val + ' Min | | | ' + getState("javascript.0.WohnzimmerTerrassentuerZaehler.Tag").val + ' | | | ' + txtTerrassentuer + ' |
                          | Bad Rechts   | ' + getState("javascript.0.BadFensterRechtsOffen.Tag").val        + ' Min | | | ' + getState("javascript.0.BadFensterRechtsZaehler.Tag").val        + ' | | | ' + txtBadRechts     + ' |
                          | Bad Links    | ' + getState("javascript.0.BadFensterLinksOffen.Tag").val         + ' Min | | | ' + getState("javascript.0.BadFensterLinksZaehler.Tag").val         + ' | | | ' + txtBadLinks      + ' |
                          | Kind2         | '+ getState("javascript.0.Kind2FensterOffen.Tag").val            + ' Min | | | ' + getState("javascript.0.Kind2FensterZaehler.Tag").val            + ' | | | ' + txtKind2         + ' |
                          | Kind1        | ' + getState("javascript.0.Kind1FensterOffen.Tag").val            + ' Min | | | ' + getState("javascript.0.Kind1FensterZaehler.Tag").val            + ' | | | ' + txtKind1         + ' |
                          | Schlafen     | ' + getState("javascript.0.SchlafenFensterOffen.Tag").val         + ' Min | | | ' + getState("javascript.0.SchlafenFensterZaehler.Tag").val         + ' | | | ' + txtSchlafen      + ' |
                          | Arbeit       | ' + getState("javascript.0.ArbeitFensterOffen.Tag").val           + ' Min | | | ' + getState("javascript.0.ArbeitFensterZaehler.Tag").val           + ' | | | ' + txtArbeit        + ' |
                          
                          ' + 
                                      '
                          ' +
                                      '**Automatik:** 
                          ' +
                                      '' +
                                      '
                          ```'
                          
                          

                          entweder Leerzeichen setzten: 'Pool ________' glaube das funktioniert nur mit …. in deinem Script ist nur das Ende ohne start```

                          oder im HTML mit einer Tabelle arbeiten:

                          fängt die Tabelle an

                          fängt eine Zeile an

                          | füllt eine Zelle ... usw.

                          Die If Abfragen ganz oben benutze ich um nicht 0, 1 oder 2 (Für einen Drehgriffkontakt) in der e-Mail angezeigt zu bekommen,

                          sonder: zu, gekippt bzw. ganz auf.

                          Vielleicht hilft dir das ja bei den Benzinpreisen weiter

                          Gruß

                          Phantomio |

                          Geräte: CCU2, RaspberryPi2,

                          Adapter: email, feiertage, flot, fritzbox, history, hm-rpc.0, hm-rpc.1 (Für Homematic IP), ical, javascript, sayit, scenes, socketio, sonos, tankerkoenig, telegram, text2command, vis, web, yr

                          1 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          741

                          Online

                          32.5k

                          Benutzer

                          81.7k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe