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

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    326

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

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

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.
  • D Offline
    D Offline
    DiJaexxl
    schrieb am zuletzt editiert von
    #3

    Hallo Sven,

    ja, ich habe es so gemacht wie du und habe im Kopf die var definiert. Die ziehst du aus den Objekten die dir das Pollenskript anlegt.

    Diese kannst du dann in das Script einbetten.

    Aber, teste mit der HTML Version. Dann kannst du auch noch die Bilder aus dem YR Adapter einbinden.

    Unsere Lösung ist rein Text. Das ist recht einfach, aber eine Einbahnstr.

    Gute Nacht

    Gruss aus Bensberg

    Dirk

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

      Hey super danke dafür.

      Ich versuche es erst mal mit dem html Script. Das sieht momentan schon mal ganz gut aus.

      Kann mir noch jemand sagen wie ich das Bild aus dem yr Adapter einbinden kann? In die Doku des Adapters habe ich bereits geschaut. Daraus werde ich aber leider nicht schlau.

      Gute Nacht.

      Gruß sven

      Gesendet von iPhone mit Tapatalk

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

        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
        
         ![576_email.png](/assets/uploads/files/576_email.png) 
         ![576_email2.png](/assets/uploads/files/576_email2.png) 
        
        Danke für eure Mühe…
        1 Antwort Letzte Antwort
        0
        • derAugeD Offline
          derAugeD Offline
          derAuge
          schrieb am zuletzt editiert von
          #6

          @Sven2013:

          3. Wie kann ich die Pollen nur anzeigen lassen, wenn es einen Pollenflug gibt? `

          ich hatte mal so ein Script-schnipsel für Humoran entwickelt:

          Kannst du vielleicht noch mit einbauen.

          Vielleicht hilft das ja weiter.

          ! var logging = true;
          ! var instanz = 'javascript.0'; instanz = instanz + '.';
          ! var pfad = 'wetter.pollenvorhersage.'; // Pfad innerhalb der Instanz
          ! Pollenarten = ['Hasel','Pappel','Weide','Ulme','Birke','Buche','Ampfer','Roggen','Gräser','Eiche','Wegerich','Beifuß','Ambrosia'];
          ! PollWarn0 = "";
          ! PollWarn1 = "";
          ! PollWarn2 = "";
          ! PollWarn3 = "";
          ! var code = {'kein':0, 'schwach':1, 'mäßig':2, 'stark':3};
          ! viewPollenwetter();
          ! function viewPollenwetter(){
          ! PollWarn0 = "";
          ! PollWarn1 = "";
          ! PollWarn2 = "";
          ! PollWarn3 = "";
          ! for(var i=0;i <pollenarten.length;i++) {<br="">// Objekt in Variable packen
          ! var varPoll = Pollenarten__;
          ! var varPollArt = pfad+Pollenarten__.toLowerCase();
          ! // Wert des Objektes auslesen und in neuer Variable speichern
          ! var varPollWert = getState(varPollArt).val;
          ! // weiterverwerten …
          ! log(varPollArt + " -> " + varPollWert);
          ! if (varPollWert == 3) {
          ! PollWarn3 = PollWarn3 + varPoll + " , ";
          ! }
          ! if (varPollWert == 2) {
          ! PollWarn2 = PollWarn2 + varPoll + " , ";
          ! }
          ! if (varPollWert == 1) {
          ! PollWarn1 = PollWarn1 + varPoll + " , ";
          ! }
          ! if (varPollWert == 0) {
          ! PollWarn0 = PollWarn0 + varPoll + " , ";
          ! }
          ! }
          ! log("Pollen stark : " +PollWarn3);
          ! log("Pollen mäßig : " +PollWarn2);
          ! log("Pollen schwach: " +PollWarn1);
          ! log("Pollen kein : " +PollWarn0);
          ! createState(pfad + "PollWarn.3.",0);
          ! createState(pfad + "PollWarn.2.",0);
          ! createState(pfad + "PollWarn.1.",0);
          ! createState(pfad + "PollWarn.0.",0);
          ! setState(pfad+"PollWarn.3.",PollWarn3);
          ! setState(pfad+"PollWarn.2.",PollWarn2);
          ! setState(pfad+"PollWarn.1.",PollWarn1);
          ! setState(pfad+"PollWarn.0.",PollWarn0);
          ! }
          ! schedule("5 0 * * *", viewPollenwetter);____</pollenarten.length;i++)> ____Gruß

          Jürgen____

          1 Antwort Letzte Antwort
          0
          • HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #7

            Hallo Jürgen,

            Schön wäre es, wenn da noch wie die Summe aller pollenwarnstufen integriert wäre.

            Wenn die dann auf 0 geht, kann man damit weiterarbeiten.

            Gruß

            Rainer

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

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

              Hallo Jürgen, Hallo Homoran

              danke dafür. Leider bekomme ich den Schnipsel nicht eingebaut.

              Ich habe dafür ein extra Script gemacht und bei der Auslösung erhalte ich immer:

              23:01:05.473	[info]	javascript.1 Stop script script.js.Pollen.Pollen-Zusatz
              23:03:28.543	[info]	javascript.1 Start javascript script.js.Pollen.Pollen-Zusatz
              23:03:28.544	[info]	javascript.1 script.js.Pollen.Pollen-Zusatz: Homematic-Servicemeldungen: hm-rpc.0.LEQ1002192.0.CONFIG_PENDING,
              23:03:28.544	[info]	javascript.1 script.js.Pollen.Pollen-Zusatz: Anzahl Homematic-Servicemeldungen: 1
              23:03:28.544	[error]	javascript.1 script.js.Pollen.Pollen-Zusatz: TypeError: Cannot read property 'val' of null at viewPollenwetter (script.js.Pollen.Pollen-Zusatz:125:39) at script.js.Pollen.Pollen-Zusatz:113:1
              

              Kannst mir einer von euch kurz erklären wie ich den einbaue?

              Gruß Sven

              1 Antwort Letzte Antwort
              0
              • derAugeD Offline
                derAugeD Offline
                derAuge
                schrieb am zuletzt editiert von
                #9

                ja

                du musst die Datenpunkte erst anlegen lassen.

                soll heißen:

                den "schnipsel" als eigenen Script laufen lassen

                in deinem Mail-Script wertest du dann die neuen Datenpunkte aus

                Gruß

                Jürgen

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

                  Hallo Jürgen,

                  danke für deine Antwort. Allerdings habe ich das versucht, das ruft den Fehler aus meinem Letzten Post hervor.

                  Der Fehler schein in Zeile 36. Kannst du da vielleicht mal schauen?

                  Gruß Sven

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

                    @Phantomio:

                    Hallo,

                    ich habe das bei mir so eingebaut (Die e-Mail Funktion in einem Globalen Script):

                    function fgEMail (strTo, strBetreff, strText){
                        sendTo("email", {
                        from:    "absender@e-mail.de",
                        to:      strTo,
                        subject: strBetreff,
                        //text:    strText
                        //HTML body
                            html: '```
                    **Temperaturen & Luftfeuchte:** 
                    ' +
                              'Garten     ' + getState("hm-rpc.0.12345.1.TEMPERATURE").val +'°C | ' + getState("hm-rpc.0.12345.1.HUMIDITY").val + '%
                    ' +
                              'Wohnzimmer ' + getState("hm-rpc.0.12345.1.TEMPERATURE").val +'°C | ' + getState("hm-rpc.12345.1.HUMIDITY").val + '%
                    ' + 
                              '
                    ' +  
                              '**Offen / Laufzeiten:** 
                    '+
                              'Poolpumpe    ' + getState("javascript.0.PoolpumpeAn.Tag").val +'Min | ' + getState("javascript.0.PoolpumpeZaehler.Tag").val + '
                    ' +
                              'Terrassentür ' + getState("javascript.0.WohnzimmerTerrassentuerOffen.Tag").val +'Min | ' + 
                              '
                    ' +
                              '**Automatik:** 
                    ' +
                              '
                    ```'
                        });
                    }
                    
                    

                    diese Funktion rufe ich dann wie folgt auf (Entweder über Schedule oder on):

                    cb(fgEMail("empfaenger@e-mail.de", 'Poolpumpe spülen', "")); 
                    
                    

                    Ich hoffe Du meinst das :P

                    Den Text in der e-Mail kannst Du dann ja beliebig erweitern z.B. mit den Daten vom Pollenadapter.

                    Jede e-Mail die ich mit dem Adapter versende enthält dann halt immer alle Daten.

                    Gruß

                    Phantomio `

                    Hallo Phantomio,

                    Ich habe in deinem Script etwas von einem Laufzeitzähler Poolpumpe gelesen. Könntest Du den Code hier zu Verfügung stellen. Wäre auch sehr an so etwas interessiert-bin jedoch nicht so begabt im coden.

                    Habe mir schon einige Scripte hier im Forum abekupfert u. angepasst und denke ich würde das mit dem Zähler auch hinbekommen.

                    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
                      #12

                      Hi crepp,

                      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!", ""));}
                          }
                      }
                      
                      

                      hier gibt es dazu auch noch einen Eintrag im Forum:

                      http://forum.iobroker.net/viewtopic.php?f=21&t=2233

                      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
                      • C Offline
                        C Offline
                        crepp
                        schrieb am zuletzt editiert von
                        #13

                        Vielen Dank, werde ich auf jeden Fall mal probieren einzurichten. Reicht es wenn ich nur den Namen des Gerätes anpasse?

                        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
                          #14

                          Hi,

                          das sollte reichen (Wenn Du die Funktion fgEMail eingebaut hast… Sonst die Zeile löschen).

                          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
                            #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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          525

                                          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