Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Vorlage] Betriebsstundenzähler & Verbrauchsrechner

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Vorlage] Betriebsstundenzähler & Verbrauchsrechner

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      looxer01 last edited by

      Hi Crepp,

      Ein paar Bespiele sind ja in der Konfiguration schon enthalten

      ich habe mal eine weitere Beispiel- Konfiguration beigefügt.

      Ein paar Erklärungen dazu:

      Erstes Beispiel: Es wird die Laufzeit eines Verbrauchers in Millisekungen gemessen

      Gruppe0 misst einfach die Laufzeit eines Gerätes. Anfang der Messung beginnt dann, wenn das geraet den Status true hat. Das Ende wird erfasst, wenn der Status auf false sich aendert.

      Eine Historie brauche ich für die Zeitmessung nicht. Also steht die auf false

      logname0 ist der Name der Messung. Hier heisst es Schneckenzeit

      special0. Da die Zeit in Millisekungen gemessen werden soll und auch sonst nichts umgerechnet wird gibt es hier keine Einstellungen

      –------------------------------------------

      Nächstes Beispiel (aufbauend) Errechnung Pelletverbrauch

      Umrechnung der Laufzeit in KG (Es geht um eine Pelletverbrauchsrechnung)

      Gruppe1 - ist identisch mit Gruppe 0 bis darauf, dass ich auch eine Historie erzeugen möchte.

      Die Gruppen sind identisch, weil beide die Laufzeiten der Anlage in Millisekunden messen

      logname1 = Hier ist es PelletKG

      special1 = hier wird nun eine Umrechnung von Zeit in KG vorgenommen. Dabei wird umgerechnet in Minuten (also millisekunden / 60000) und dann mit 7.5 multipliziert. Das ist hier so, weil die Laufzeit den Pelletaushub bestimmt.

      –-------------------------------------------

      Nächstes Beispiel (Aussentemperatur Log jeden Mittag)

      Gruppe15: Das Thermometer wird mit der Methode CALC abgefragt. Die Methode Calc deswegen, weil ich keine Zeit messe, sondern den Wert des Gerätes direkt verwende. Dabei macht die Messung der Anzahl der Schaltungen keinen Sinn (Switch) und steht deshalb auf false

      Logname15 Der Name der Messung ist AussenNoon

      special15 Die Rundung steht auf 2 Nachkommastellen, da dies für die Temperturmessung mehr als ausreicht. Ich möchte eine Durchschnittstemperaturmessung mit loggen. Damit kann z.B. die durschnittliche Wochen,Monats Temperatur berechnet werden

      Die Messung findet jeden Tag um 12:00 statt.

      Minimale und Maximale Temperaturen werden ebenfalls geloggt

      Die ermittelten Werte (Temperaturen) werden in eine Excel datei geloggt

      Das könnte beliebig fortgesetzt werden. Die Anzahl der Einstellungsmöglichkeiten ist schon recht gross.

      Ich hoffe, dass es ein wenig hilft.

      [spoiler]
      var Gruppen = [];
      //              1.Homematic ID,                    2.Feldname(no spaces)                    3.History  4.DAY  5.Week  6.Month 7.Year  8.Switch   9 - 18 Status to log                                                         19.stop 20.Loesch
      Gruppen[0]  = ['hm-rpc.0.KEQ0178063.1.STATE'            ,'Pellet'                           ,false  ,true   ,true   ,true   ,true   ,true   ,'false' ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; // Schneckenzeit 
      Gruppen[1]  = ['hm-rpc.0.KEQ0178063.1.STATE'            ,'Pellet'                           ,true   ,true   ,true   ,true   ,true   ,false  ,'false' ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; // Kumuliert   KG
      Gruppen[2]  = ['hm-rpc.0.KEQ0178063.1.STATE'            ,'Pellet'                           ,true   ,true   ,true   ,true   ,true   ,false  ,'false' ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; // Kumuliert   Euro
      Gruppen[3]  = ['hm-rpc.0.KEQ0178063.1.STATE'            ,'Pellet'                           ,false  ,false  ,false  ,false  ,false  ,false  ,'false' ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; // Restbestand KG
      Gruppen[4]  = ['hm-rpc.0.KEQ0178063.1.STATE'            ,'Pellet'                           ,false  ,false  ,false  ,false  ,false  ,false  ,'calc'  ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; // Laufzeiten f.Graphik
      Gruppen[5]  = ['initial'                                ,''                                 ,false  ,true   ,true   ,true   ,true   ,true   ,''      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; // Reserviert fuer Individuallogik
      Gruppen[6]  = ['modbus.0.holdingRegisters.26_FA1_STATE' ,'Oekofen'                          ,false  ,true   ,true   ,true   ,true   ,false  ,'1'     ,'2'    ,'3'    ,'4'    ,'5'    ,'7'    ,'99'   ,''     ,''     ,''     ,false ,false];
      Gruppen[7]  = ['modbus.0.holdingRegisters.26_FA1_STATE' ,'Oekofen'                          ,false  ,true   ,true   ,true   ,true   ,false  ,'7'     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; // Oekofen
      Gruppen[8]  = ['initial', ''                                                                ,false  ,false  ,false  ,false  ,false  ,false  ,''      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false];
      Gruppen[9]  = ['initial'                                , 'Strom'                           ,true   ,true   ,true   ,true   ,true   ,true   ,'delta' ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,true  ,false]; //
      Gruppen[10] = ['initial'                                ,'Strom'                            ,true   ,true   ,true   ,true   ,true   ,false  ,'delta' ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; // 
      Gruppen[11] = ['initial'                                , 'Strom'                           ,false  ,true   ,true   ,true   ,true   ,true   ,'delta' ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,true,  false]; // 
      Gruppen[12] = ['initial'                                , 'Strom'                           ,true   ,true   ,true   ,true   ,true   ,true   ,'delta' ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,true ,false]; // 
      Gruppen[13] = ['initial'                                , ''                                ,false  ,false  ,false  ,false  ,false  ,false  ,''      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false];
      Gruppen[14] = ['hm-rpc.0.JEQ0014148.1.TEMPERATURE'      , 'Temperaturen'                    ,true   ,true   ,true   ,true   ,true   ,false  ,'calc'  ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false];
      Gruppen[15] = ['hm-rpc.0.JEQ0014148.1.TEMPERATURE'      , 'Temperaturen'                    ,true   ,true   ,true   ,true   ,true   ,false  ,'calc'  ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false];
      Gruppen[16] = ['initial'                                ,  ''                               ,true   ,true   ,true   ,true   ,true   ,false  ,'calc'  ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false];
      Gruppen[17] = ['initial'                                , 'Anwesenheit'                     ,false  ,true   ,true   ,true   ,true   ,true   ,''      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,true ,true];
      Gruppen[18] = ['initial'                                , 'Anwesenheit'                     ,false  ,true   ,true   ,true   ,true   ,true   ,''      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,true ,true];
      Gruppen[19] = ['hm-rpc.0.JEQ0295143.1.STATE'            , 'Pool'                            ,true   ,true   ,true   ,true   ,true   ,true   ,''      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false];
      Gruppen[20] = ['hm-rpc.0.JEQ0055021.1.STATE'            , 'Pool'                            ,true   ,true   ,true   ,true   ,true   ,false  ,''      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false];
      Gruppen[21] = ['initial'                                , ''                                ,false  ,false  ,false  ,false  ,false  ,false  ,''      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; 
      Gruppen[22] = ['hm-rpc.0.JEQ0038551.1.STATE'            , 'Pool'                            ,true   ,true   ,true   ,true   ,true   ,true   ,''      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false];
      Gruppen[23] = ['initial'                                , 'Harmony'                         ,false  ,true   ,true   ,true   ,true   ,true  ,'0'      ,'1'    ,'2'    ,'3'    ,''     ,''     ,''     ,''     ,''     ,''     ,true  ,false];
      Gruppen[24] = ['initial'                                , 'Harmony'                         ,false  ,true   ,true   ,true   ,true   ,true  ,'TV'     ,'PowerOff',''  ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,true  ,false];
      Gruppen[25] = ['initial'                                , 'Harmony'                         ,false  ,true   ,true   ,true   ,true   ,true   ,'false' ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,true  ,false];
      
      /*-------------------------------------------------------------------------------
      
      Die folgende Tabelle dient zur Vergabe von Statusnamen zur besseren Lesbarkeit. Standard ist EIN
      Die ziffern im Array z.B. [0] korrespondieren mit der Gruppentabelle also Gruppen[0] gehört zu logname[0]
      Wird hier kein Feldname vergeben, dann wird Spalte 9-18 der Gruppentabelle als Feldname verwendet
      Beispiel: Zustand Lampe = EIN ,
      Beispiel: Status 1 =Start, 2 =  Heizung_Zuendung,3 = Softstart 4 = Heizung_Brennen, 5 = Heizung_Nachlauf etc
      ACHTUNG- keine spaces verwenden */
      var logname = [];
      //              Stat1           Stat2       Stat3       Stat4               Stat5       Stat6       Stat7       Stat8   Stat9   Stat10
      logname[0]  =   ['Schneckenzeit',''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[1]  =   ['PelletKG'     ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[2]  =   ['PelletEURO'   ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[3]  =   ['PelletRest'   ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[4]  =   ['SchneckeSchalt',''        ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[5]  =   ['EinAus5'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[6]  =   ['Start'        ,'Zuendung' ,'Softstart','Leistungsbrand'   ,'Nachlauf' ,'Saugen'   ,'Idle'     ,''     ,''     ,''];
      logname[7]  =   ['PelletTheor'  ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[8]  =   ['EinAus8'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[9]  =   ['EinAus9'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[10] =   ['EinAus10'     ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[11] =   ['EinAus11'     ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[12] =   ['EinAus12'     ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[13] =   ['EinAus13'     ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[14] =   ['Aussen'       ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[15] =   ['AussenNoon'   ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[16] =   ['EinAus16'     ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[17] =   ['AnwRalf'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[18] =   ['AnwEllen'     ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[19] =   ['Filter'       ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[20] =   ['PoolHeizung'  ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[21] =   ['EinAus21'     ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[22] =   ['Klimaanlage'  ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[23] =   ['EinAus23'     ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[24] =   ['EinAus24'     ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      logname[25] =   ['EinAus25'     ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      
      /*
      Tabelle "special"   :   hier werden Rechenregeln und Sonderfunktionen hinterlegt
      Pos1 Rundung auf Nachkommastellen
      Pos2 Addition1 mit dem angegebenen Wert erfolgt vor der Multiplikation mit dem Faktor aus Pos3
      Pos3 = Faktor für die Multiplikationen - Ein Faktor kann nur sinnvoll eingegeben werden, wenn zu diesem Zeitpunkt alle Werte auf Null stehen.
      .......Der Faktor kann nicht null sein. In diesem Fall wird 1 angenommen.
      .......Also entweder bei der Neueinrichtung bzw ein Refresh ist aller Werte ist erforderlich
      Pos4 = Divisor um den Faktor lesbar zu machen z.B. Millisekunden Divisor für Sekunde = 1000 , Minute = 60000, Stunde = 3600000
      .......Die Rechnung ist Faktor/Divisor / Wenn Divisor = blank oder 0, dann wird 1 angenommen
      Pos5 = Addition2 mit dem angegebenen Wert erfolgt nach der Multiplikation mit dem Faktor aus Pos3
      .......Formel: y=((x+add1)*faktor/divisor)+add2  / y = Ergebnis - x = eigehender Wert aus dem überwachten Datenpunkt
      .......y wird in die Indivduallogik geschickt um weiter zu berechnen
      Pos6 ist vorgesehen, um Funktionen im Programm zu definieren die dann aufgerufen werden - Programmierung ist erforderlich
      Pos7 nur fuer Methode Delta und DeltaM - bei Tanksensoren/Energiesensoren kommt es haeufig zu Schwankungen plus und minus - Hier wird die Grenze bestimmt bei der ein Tankvorgang sicher angenommen werden kann z.B. 100 Liter differenz
      ......der Wert muss in der gemessenen Einheit angegeben werden. Z.B. Ultraschallsensoren senden in Liter. Dann ist die Zahl, die hier eingegeben werden muss ebenfalls Liter. Wenn nichts angegeben wird, dann wird 100 angenommen
      Pos8.. Sonderfall, wenn unter Gruppe(0) ein Datenpunkt eingetragen wurde der nicht nach update eine Bestaetigung (ack) erhaelt. In diesem Fall sollte 8 auf false stehen
      Pos9 =Wenn ein gleitender Durchschnitt berechnet werden soll, dann wird hier true eingetragen  (noch nicht aktiviert)
      Pos10 = Zählschwelle für Durchschnittsberechnung. TIME in Millisekunden (bei einer Einschaltzeit unter der Angabe hier wird der Wert nicht in die Durchschnittsberechnung einbezogen)
      ........Umrechnugnen anhand von addition1 faktor, divisor und addition2 werden dabei nicht berücksichtigt
      Pos11 =  Alternativ zum Auslösen bei Veränderung lassen sich hier Zeiten eingeben an denen die Erfassung des Zustandes der zu loggenden Datenpunkte erfolgt.
      .........format ist CRON. Beispiele: alle 10 Minuten =  * /10 * * * *  (leerzeichen vor "/"" bitte entfernen) täglich um 12 Uhr = 0 12 * * * -
      .........alle 2 Stunden = 0 * /2 * * * etc (leerzeichen vor "/"" bitte entfernen)
      .........mit der folgenden Web-Seite können die Zeiten generiert werden:        http://crontab-generator.org/
      .........Zur Ueberpruefung von Cron Expessions bietet sich diese Website an:    http://crontab.guru/
      .........Das ist nicht fuer die Methode TIME sinnvoll und ist daher ausgeschaltet, falls ein schedule fuer TiME eingegeben wurde
      Pos12 =  Logging für diesen Datenpunkt wird eingeschaltet, wenn ein true eingetragen wird. Damit werden Minimum und Maximum Werte festgehalten
      Pos13 =  Mehrfachstatus loggen ? dann true. In diesem Fall wird ein Status auch dann gesetzt, wenn bereits der gleiche Status vorher gesetzt wurde.
               das hat zur Folge, dass z.B. die Zeitmessung neu gestartet wird, obwohl der Status im Grunde nicht geändert wurde. Standard ist false
      Pos14 =  Selective Logging - Wenn auf true, dann wird dieser Datenpunkt in einer dedizierten Datei geloggt
      
      */
      
      var special = [];
      
      //             1.Round 2.add1   3.Faktor                4\. Divisor  5.add2  6.Individuallogik  7: DELTA(M)Grenze    8.Warten auf Bestaetigung  9.Durchschnitt - 10.Zaehlschwelle     11 Schedule    12\. Min/MAX     13\. MehrfachStatus  14\. Selektives Logging
      special[0]  =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 , ''     ]; // Schneckenzeit
      special[1]  =   ['2'     ,''    ,'7.5'                  ,'60000'    ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,'true'  ]; // Pelletverbrauch in KG
      special[2]  =   ['2'    ,''     ,'1.725'                ,'60000'    ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; // Pelletverbrauch in Euro
      special[3]  =   ['2'    ,''     ,'-7.5'                 ,'60000'    ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; // Pellet Restbestand
      special[4]  =   [''     ,'1'    ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; // für die Graphische Auswertungen Ein = 2 / aus = 1
      special[5]  =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 , ''     ];
      special[6]  =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; // Zeiterfassung fuer Stqtus Heizung
      special[7]  =   ['2'    ,''     ,'-1'                   ,''         ,''     ,'oekofen'          ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; // Sonderlogik fuer Saugzeiten Oekofen - theoretischer Pelletverbrauch
      special[8]  =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
      special[9]  =   [''     ,''     ,''                     ,'1000'     ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; // 
      special[10] =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; // 
      special[11] =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; // 
      special[12] =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; //
      special[13] =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
      special[14]  =  ['2'    ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,'true'         ,''             ,''                 ,'true'         ,''                 ,''      ];
      special[15]  =  ['2'    ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,'true'         ,''             ,'0 12 * * *'       ,'true'         ,''                 ,'true'  ];
      special[16]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
      special[17]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
      special[18]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
      special[19]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,'true'  ];
      special[20]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,'true'  ];
      special[21]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
      special[22]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
      special[23]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
      special[24]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
      special[25]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
      
      [/spoiler]
      
      
      1 Reply Last reply Reply Quote 0
      • C
        crepp last edited by

        Vielen Dank für deine schnelle Reaktion, Habe jetzt zwei Geräte angelegt (nur Zeiterfassung) aber ich denke da wird noch einiges im Lauf der Zeit hinzukommen.

        Gruß crepp

        1 Reply Last reply Reply Quote 0
        • C
          crepp last edited by

          Hallo,

          Ich hab mich etwas zu früh gefreut, hab noch ein kleines Problem.

          Prinzipiell läuft der Zähler mit den zwei Datenpunkten.

          Nur meine Darstellung in vis gefällt mir noch nicht so sehr:
          686_unbenannt.png
          Links meine Darstellung, rechts die Darstellung wie ich sie gerne hätte (ohne führende Nullen)

          Das bekomme ich jedoch mit dem Widget "String Val Text" nicht hin, da es keine Möglichkeit gibt den Wert umzurechnen.
          686_unbenannt2.png

          Kannst Du mir einen heissen Tipp geben, welches Widget ich verwenden kann.

          Das widget "Number Val" (was ich rechts verwendet habe) kann umrechnen, zeigt mir aber keinen Wert an…

          1 Reply Last reply Reply Quote 0
          • L
            looxer01 last edited by

            Hi Crepp,

            Wenn keine Umrechnung eingegeben wird, dann ist das Format DDDDDD:HH:MM:SS hart verdrahtet.

            Du kannst aber einfach von Millisekunden umrechnen (Tabelle special) und bekommst dann einen numerischen WEert.

            Wenn du z.B. dazu im Divisor 1000 eingibst kannst du im Multiplikator

            z.B. 60 eingeben und du erhältst Minuten

            oder 3600 und der bekommst Stunden

            oder 86400 und bist bei Tagen.

            Dass solltest du dann noch mit einer Rundung versehen. z.B 1

            vG Looxer

            1 Reply Last reply Reply Quote 0
            • N
              noxx last edited by

              hallo

              ich nehme mal an, das ich Datenpunkte mit Wert nicht verwenden kann?

              Der Gaszähler wird geloggt und als Datenpunkt abgelegt.

              Gruppen[ 0]  = ['javascript.0.Gaszaehler.Wert'           ,''                                 ,true   ,true   ,true   ,true   ,true   ,false
              
              

              LOG:

              20:11:03.900	[info]	javascript.0 Stop script script.js.common.Betriebsstundenzaehler
              20:11:04.483	[info]	javascript.0 Start javascript script.js.common.Betriebsstundenzaehler
              20:11:04.485	[error]	javascript.0 script.js.common.Betriebsstundenzaehler: TypeError: Cannot read property 'common' of null at script.js.common.Betriebsstundenzaehler:323:47 at ContextifyScript.Script.runInContext (vm.js:35:29)
              

              2880_01.png

              1 Reply Last reply Reply Quote 0
              • L
                looxer01 last edited by

                Hi Noxx,

                doch klar, gerade Werte sollten ja geloggt werden und berechnet.

                Schick doch mal deine Einstellungen. Ich schau mal. Könnte ein Einstellungsproblem sein.

                vG >Looxer

                1 Reply Last reply Reply Quote 0
                • N
                  noxx last edited by

                  Bisher steht nur in Gruppe[0] was drin

                  Gruppen[ 0]  = ['javascript.0.Gaszaehler.Wert'           ,''                                 ,true   ,true   ,true   ,true   ,true   ,false  ,''      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
                  
                  1 Reply Last reply Reply Quote 0
                  • L
                    looxer01 last edited by

                    Sorry aus versehen geloescht

                    1 Reply Last reply Reply Quote 0
                    • N
                      noxx last edited by

                      hmm, habe den dreh nicht.

                      Gruppen[ 0]  = ['javascript.0.Gaszaehler.Wert'           ,''                                 ,true   ,true   ,true   ,true   ,true   ,false  ,'delta'      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
                      

                      liefert

                      (vm.js:35:29)
                      21:51:35.973	[info]	javascript.0 Stop script script.js.common.Betriebsstundenzaehler
                      21:51:36.512	[info]	javascript.0 Start javascript script.js.common.Betriebsstundenzaehler
                      21:51:36.514	[error]	javascript.0 script.js.common.Betriebsstundenzaehler: TypeError: Cannot read property 'common' of null at script.js.common.Betriebsstundenzaehler:323:47 at ContextifyScript.Script.runInContext (vm.js:35:29)
                      

                      Edit

                      Nun kein Fehler mehr. Anscheinend muss die Spalte 2 gefüllt sein

                      1 Reply Last reply Reply Quote 0
                      • N
                        noxx last edited by

                        habe nun 2 "geräte" eingestellt, beim Regensensor werden die Werte

                        übernommen, beim Gaszähler nicht.

                        Keine Ahnung warum, sind beide gleich eingestellt.

                        Gruppen[ 0]  = ['javascript.0.Gaszaehler.Wert'          ,'Heizung'                          ,true  ,true  ,true  ,true  ,true  ,false  ,'delta'      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
                        Gruppen[ 1]  = ['rflink.0.channels.Cresta_2.RAIN'       ,'Wetterstation'                    ,true  ,true  ,true  ,true  ,true  ,false  ,'delta'      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
                        
                        logname[0]  =   ['Gasuhr'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
                        logname[1]  =   ['Regenmesser'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
                        
                        
                        special[0]  =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 , ''     ]; 
                        special[1]  =   [''     ,''     ,'0.227'                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                        
                        

                        2880_01.png

                        1 Reply Last reply Reply Quote 0
                        • L
                          looxer01 last edited by

                          Hi Noxx,

                          Der Gaszähler steht auf delta. Das ist ok. Ist der Datenpunkt, der den jeweils aktuellen Gesamtverbrauchswert des Gaszählers misst, ein wirklich Javascript-datenpunkt ? -

                          Wichtig ist, dass der Wert in diesem Datenpunkt ein kontinuierlich aufsteigender Wert ist (eben die aktuelle verbraucht m3 Zahl.) Dann sollte das delta auch gemessen werden. Wie oft wird dieser Datenpunkt denn aktualisiert. Denn bei jeder Akutualisierung wird der Unterschied berechnet. Kann es sein, dass das im Sekundenbereich geschieht. ? Vielleicht ist der Wert dann zu klein. Durch das setzen des schedules in "special" kann auch das Aktualisieren geplant werden.

                          Bin jetzt bis Montag unterwegs und kann nur lesen.

                          vG Looxer

                          1 Reply Last reply Reply Quote 0
                          • K
                            knopers1 last edited by

                            Hi Noxx,

                            ewentuell liegt der Fehler im Java-Script was Du mir zukommen lassen hast.

                            Und zwar genau in der Zeile:

                            schedule ("* * * * *", function(){ // alle 3 Minuten aufrufen

                            Wenn das Script alle drei min. die WEB abfragen soll, muß es so aussehen.

                            schedule ("*/3 * * * *", function(){

                            Ich baue heute alles nach und berichte ob es bei mir funktioniert!

                            var request = require('request');
                            var parseString = require('xml2js').parseString;
                            
                            var url="http://192.168.1.43"; // hier die Adresse der Webseite eintragen
                            
                            var GaszaehlerId = "Gaszaehler.Wert"; // Der Wert steht in "javascript.0."
                            
                            function processData(body){
                               parseString(body, function (err, result) {
                                  // log(JSON.stringify(result.MyHome.ESP8266_GasMeter[0].data[4].$.value));
                                  if (!err)
                                      setState(GaszaehlerId,result.MyHome.ESP8266_GasMeter[0].data[4].$.value);
                               });   
                            }
                            
                            createState(GaszaehlerId,
                                      0, 
                                      false,
                                      {
                                        type:"number",
                                        unit:"m³"
                                      });
                            
                            schedule ("* * * * *", function(){ // alle 3 Minuten aufrufen
                                request({  
                                    uri: url,
                                    method: "GET",
                                    timeout: 10000,
                                    followRedirect: true,
                                    maxRedirects: 10
                                }, function(error, response, body) {
                                    if (!error) {
                                        if (response.statusCode == 200) {
                                            processData(body);    
                                        }
                                    } else log("Fehler: "+error);
                                });    
                            })
                            
                            1 Reply Last reply Reply Quote 0
                            • L
                              looxer01 last edited by

                              @knopers1:

                              Hi Noxx,

                              ewentuell liegt der Fehler im Java-Script was Du mir zukommen lassen hast.

                              Und zwar genau in der Zeile:

                              schedule ("* * * * *", function(){ // alle 3 Minuten aufrufen

                              Wenn das Script alle drei min. die WEB abfragen soll, muß es so aussehen. `

                              Aaah Ok. Der Wert kommt aus einem anderen Script und fuellt die variable. Dann brauchst du die schedule Funktion aus Tabelle Special nicht. Du musst halt darauf achten, dass die Differenz-werte nicht zu klein werden. Auf jeden Fall sollte nicht gerundet werden.

                              Vg looxer

                              Gesendet von meinem SM-G935F mit Tapatalk

                              1 Reply Last reply Reply Quote 0
                              • K
                                knopers1 last edited by

                                @looxer01

                                kannst Du helfen?

                                Ich versuche grade auch ein Gaszähler einzubinden…

                                Gaszähler läuft und überträgt die Daten mit einem Javascript siehe Bild....

                                Ich habe nur dies vorerst angepasst. Irgendiwie bleibt alles auf Null, obwohl die Werte am Gaszähler steigen...

                                var Gruppen = [];
                                //              1.Homematic ID,                    2.Thema(no spaces)                    3.History  4.DAY  5.Week  6.Month 7.Year  8.Switch   9 - 18 Status to log                                                         19.stop 20.Loesch
                                Gruppen[ 0]  = ['javascript.0.'           ,'Gaszaehler.Wert'                                 ,true   ,true   ,true   ,true   ,true   ,false  ,'delta'      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
                                Gruppen[ 1]  = ['initial'                                ,''                                 ,false  ,false  ,false  ,false  ,false  ,false  ,''      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
                                
                                var logname = [];
                                //              Stat1           Stat2       Stat3       Stat4               Stat5       Stat6       Stat7       Stat8   Stat9   Stat10
                                logname[0]  =   ['Gasuhr'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
                                logname[1]  =   ['EinAus1'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
                                

                                hier mein LOG, bringt viele Warnungen:

                                javascript.0	2017-08-17 19:06:01.179	warn	at process._tickCallback (internal/process/next_tick.js:104:9)
                                javascript.0	2017-08-17 19:06:01.179	warn	at _combinedTickCallback (internal/process/next_tick.js:80:11)
                                javascript.0	2017-08-17 19:06:01.179	warn	at endReadableNT (_stream_readable.js:974:12)
                                javascript.0	2017-08-17 19:06:01.178	warn	at IncomingMessage.emit (events.js:185:7)
                                javascript.0	2017-08-17 19:06:01.178	warn	at emitNone (events.js:91:20)
                                javascript.0	2017-08-17 19:06:01.178	warn	at IncomingMessage.g (events.js:292:16)
                                javascript.0	2017-08-17 19:06:01.178	warn	at IncomingMessage. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1091:12)
                                javascript.0	2017-08-17 19:06:01.177	warn	at Request.emit (events.js:188:7)
                                javascript.0	2017-08-17 19:06:01.177	warn	at emitOne (events.js:96:13)
                                javascript.0	2017-08-17 19:06:01.177	warn	at Request. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1171:10)
                                javascript.0	2017-08-17 19:06:01.177	warn	at Request.emit (events.js:191:7)
                                javascript.0	2017-08-17 19:06:01.176	warn	at emitTwo (events.js:106:13)
                                javascript.0	2017-08-17 19:06:01.176	warn	at Request.self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:188:22)
                                javascript.0	2017-08-17 19:06:01.176	warn	at Request._callback (script.js.common.Gaszaehler:34:17)
                                javascript.0	2017-08-17 19:06:01.175	warn	at processData (script.js.common.Gaszaehler:9:4)
                                javascript.0	2017-08-17 19:06:01.175	warn	at exports.parseString (/opt/iobroker/node_modules/iobroker.javascript/node_modules/xml2js/lib/parser.js:354:19)
                                javascript.0	2017-08-17 19:06:01.175	warn	at Parser.parseString (/opt/iobroker/node_modules/iobroker.javascript/node_modules/xml2js/lib/parser.js:5:59)
                                javascript.0	2017-08-17 19:06:01.174	warn	at Parser.exports.Parser.Parser.parseString (/opt/iobroker/node_modules/iobroker.javascript/node_modules/xml2js/lib/parser.js:322:31)
                                javascript.0	2017-08-17 19:06:01.174	warn	at Object.write (/opt/iobroker/node_modules/iobroker.javascript/node_modules/sax/lib/sax.js:1436:13)
                                javascript.0	2017-08-17 19:06:01.173	warn	at closeTag (/opt/iobroker/node_modules/iobroker.javascript/node_modules/sax/lib/sax.js:889:7)
                                javascript.0	2017-08-17 19:06:01.173	warn	at emitNode (/opt/iobroker/node_modules/iobroker.javascript/node_modules/sax/lib/sax.js:629:5)
                                javascript.0	2017-08-17 19:06:01.172	warn	at emit (/opt/iobroker/node_modules/iobroker.javascript/node_modules/sax/lib/sax.js:624:35)
                                javascript.0	2017-08-17 19:06:01.172	warn	at Object.onclosetag (/opt/iobroker/node_modules/iobroker.javascript/node_modules/xml2js/lib/parser.js:261:26)
                                javascript.0	2017-08-17 19:06:01.171	warn	at Parser.emit (events.js:188:7)
                                javascript.0	2017-08-17 19:06:01.171	warn	at emitOne (events.js:96:13)
                                javascript.0	2017-08-17 19:06:01.170	warn	at Parser. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/xml2js/lib/parser.js:303:18)
                                javascript.0	2017-08-17 19:06:01.169	warn	at script.js.common.Gaszaehler:12:11
                                javascript.0	2017-08-17 19:06:01.165	warn	Wrong type of javascript.0.Gaszaehler.Wert: "string". Please fix, while deprecated and will not work in next versions.
                                host.orangepiplus2e	2017-08-17 19:06:00.044	info	instance system.adapter.yr.0 started with pid 14601
                                host.orangepiplus2e	2017-08-17 19:05:14.758	info	instance system.adapter.ical.0 terminated with code 0 (OK)
                                ical.0	2017-08-17 19:05:06.513	info	starting. Version 1.3.2 in /opt/iobroker/node_modules/iobroker.ical, node: v6.11.2
                                host.orangepiplus2e	2017-08-17 19:05:00.124	info	instance system.adapter.ical.0 started with pid 14541
                                javascript.0	2017-08-17 19:03:00.839	warn	at process._tickCallback (internal/process/next_tick.js:104:9)
                                javascript.0	2017-08-17 19:03:00.838	warn	at _combinedTickCallback (internal/process/next_tick.js:80:11)
                                javascript.0	2017-08-17 19:03:00.838	warn	at endReadableNT (_stream_readable.js:974:12)
                                javascript.0	2017-08-17 19:03:00.838	warn	at IncomingMessage.emit (events.js:185:7)
                                javascript.0	2017-08-17 19:03:00.837	warn	at emitNone (events.js:91:20)
                                javascript.0	2017-08-17 19:03:00.837	warn	at IncomingMessage.g (events.js:292:16)
                                javascript.0	2017-08-17 19:03:00.837	warn	at IncomingMessage. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1091:12)
                                javascript.0	2017-08-17 19:03:00.836	warn	at Request.emit (events.js:188:7)
                                javascript.0	2017-08-17 19:03:00.836	warn	at emitOne (events.js:96:13)
                                javascript.0	2017-08-17 19:03:00.836	warn	at Request. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1171:10)
                                javascript.0	2017-08-17 19:03:00.835	warn	at Request.emit (events.js:191:7)
                                javascript.0	2017-08-17 19:03:00.835	warn	at emitTwo (events.js:106:13)
                                javascript.0	2017-08-17 19:03:00.834	warn	at Request.self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:188:22)
                                javascript.0	2017-08-17 19:03:00.831	warn	at Request._callback (script.js.common.Gaszaehler:34:17)
                                javascript.0	2017-08-17 19:03:00.831	warn	at processData (script.js.common.Gaszaehler:9:4)
                                javascript.0	2017-08-17 19:03:00.830	warn	at exports.parseString (/opt/iobroker/node_modules/iobroker.javascript/node_modules/xml2js/lib/parser.js:354:19)
                                javascript.0	2017-08-17 19:03:00.830	warn	at Parser.parseString (/opt/iobroker/node_modules/iobroker.javascript/node_modules/xml2js/lib/parser.js:5:59)
                                javascript.0	2017-08-17 19:03:00.830	warn	at Parser.exports.Parser.Parser.parseString (/opt/iobroker/node_modules/iobroker.javascript/node_modules/xml2js/lib/parser.js:322:31)
                                javascript.0	2017-08-17 19:03:00.829	warn	at Object.write (/opt/iobroker/node_modules/iobroker.javascript/node_modules/sax/lib/sax.js:1436:13)
                                javascript.0	2017-08-17 19:03:00.829	warn	at closeTag (/opt/iobroker/node_modules/iobroker.javascript/node_modules/sax/lib/sax.js:889:7)
                                javascript.0	2017-08-17 19:03:00.828	warn	at emitNode (/opt/iobroker/node_modules/iobroker.javascript/node_modules/sax/lib/sax.js:629:5)
                                javascript.0	2017-08-17 19:03:00.828	warn	at emit (/opt/iobroker/node_modules/iobroker.javascript/node_modules/sax/lib/sax.js:624:35)
                                javascript.0	2017-08-17 19:03:00.828	warn	at Object.onclosetag (/opt/iobroker/node_modules/iobroker.javascript/node_modules/xml2js/lib/parser.js:261:26)
                                javascript.0	2017-08-17 19:03:00.827	warn	at Parser.emit (events.js:188:7)
                                javascript.0	2017-08-17 19:03:00.827	warn	at emitOne (events.js:96:13)
                                javascript.0	2017-08-17 19:03:00.826	warn	at Parser. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/xml2js/lib/parser.js:303:18)
                                javascript.0	2017-08-17 19:03:00.826	warn	at script.js.common.Gaszaehler:12:11
                                javascript.0	2017-08-17 19:03:00.810	warn	Wrong type of javascript.0.Gaszaehler.Wert: "string". Please fix, while deprecated and will not work in next versions.
                                
                                

                                1526_unbenannt1.png

                                1 Reply Last reply Reply Quote 0
                                • K
                                  knopers1 last edited by

                                  noch etwas als Infooo….

                                  habe jetzt auch so probiert.

                                  var Gruppen = [];
                                  //              1.Homematic ID,                    2.Thema(no spaces)                    3.History  4.DAY  5.Week  6.Month 7.Year  8.Switch   9 - 18 Status to log                                                         19.stop 20.Loesch
                                  Gruppen[ 0]  = ['javascript.0.Gaszaehler.Wert'          ,''                                 ,true   ,true   ,true   ,true   ,true   ,false  ,'delta'      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
                                  

                                  Beim Start siemt man unten im JS Adapter das hier:

                                  Log

                                  19:31:05.765 [info] javascript.0 Start javascript script.js.common.Betriebsstdzaehler

                                  19:31:05.767 [error] javascript.0 script.js.common.Betriebsstdzaehler: script.js.common.Betriebsstdzaehler:323

                                  19:31:05.768 [error] javascript.0 at script.js.common.Betriebsstdzaehler:323:47
                                  1526_unbenannt2.png

                                  1 Reply Last reply Reply Quote 0
                                  • N
                                    noxx last edited by

                                    @looxer01:

                                    @knopers1:

                                    Hi Noxx,

                                    ewentuell liegt der Fehler im Java-Script was Du mir zukommen lassen hast.

                                    Und zwar genau in der Zeile:

                                    schedule ("* * * * *", function(){ // alle 3 Minuten aufrufen

                                    Wenn das Script alle drei min. die WEB abfragen soll, muß es so aussehen. `

                                    Aaah Ok. Der Wert kommt aus einem anderen Script und fuellt die variable. Dann brauchst du die schedule Funktion aus Tabelle Special nicht. Du musst halt darauf achten, dass die Differenz-werte nicht zu klein werden. Auf jeden Fall sollte nicht gerundet werden.

                                    Vg looxer

                                    Gesendet von meinem SM-G935F mit Tapatalk `

                                    spezial habe ich nur beim regenzähler, weil ich einen wert korrigieren muss

                                    habe nun auch mal die Werte mit dem parser ausgelesen, auch diese werden nicht vom Script eingelesen.

                                    LOG

                                    20:59:13.004	[info]	javascript.0 Start javascript script.js.common.Betriebsstundenzaehler
                                    20:59:13.005	[info]	javascript.0 script.js.common.Betriebsstundenzaehler: registered 26 subscriptions and 27 schedules
                                    

                                    LOG

                                    Datum;Uhrzeit;Type;Activity;Gruppen-Nummer;HM-ID;Objekt-Text;CurrValue;SystemObj Alt; SysemObj Neu;SystemMSEC Alt ;SystemMSEC NEU; CounterObj ALT; CounterOBJ NEU
                                    17.08.2017 ;20:54:37 ;DELTA;Change;1;rflink.0.channels.Cresta_2.RAIN;Cresta_ 2 Total rain level;2430,2;2430,2;2430,2;;0;551,6554;551,6554
                                    

                                    2880_01.png

                                    1 Reply Last reply Reply Quote 0
                                    • K
                                      knopers1 last edited by

                                      hmm, kann es sein, dass dort der Fehler begraben ist ?

                                      javascript.0	2017-08-17 21:36:00.259	warn	Wrong type of javascript.0.GasMeter.Wert: "string". Please fix, while deprecated and will not work in next versions.
                                      

                                      und das bezieht sich auf den Wert, was wir mit dem js Script uns von der Web Oberfläche des Wemos holen….

                                      1 Reply Last reply Reply Quote 0
                                      • L
                                        looxer01 last edited by

                                        @noxx:

                                        @looxer01:

                                        @knopers1:

                                        Hi Noxx,

                                        ewentuell liegt der Fehler im Java-Script was Du mir zukommen lassen hast.

                                        Und zwar genau in der Zeile:

                                        schedule ("* * * * *", function(){ // alle 3 Minuten aufrufen

                                        Wenn das Script alle drei min. die WEB abfragen soll, muß es so aussehen. `

                                        Aaah Ok. Der Wert kommt aus einem anderen Script und fuellt die variable. Dann brauchst du die schedule Funktion aus Tabelle Special nicht. Du musst halt darauf achten, dass die Differenz-werte nicht zu klein werden. Auf jeden Fall sollte nicht gerundet werden.

                                        Vg looxer

                                        Gesendet von meinem SM-G935F mit Tapatalk `

                                        spezial habe ich nur beim regenzähler, weil ich einen wert korrigieren muss

                                        habe nun auch mal die Werte mit dem parser ausgelesen, auch diese werden nicht vom Script eingelesen.

                                        LOG

                                        20:59:13.004	[info]	javascript.0 Start javascript script.js.common.Betriebsstundenzaehler
                                        20:59:13.005	[info]	javascript.0 script.js.common.Betriebsstundenzaehler: registered 26 subscriptions and 27 schedules
                                        

                                        LOG

                                        Datum;Uhrzeit;Type;Activity;Gruppen-Nummer;HM-ID;Objekt-Text;CurrValue;SystemObj Alt; SysemObj Neu;SystemMSEC Alt ;SystemMSEC NEU; CounterObj ALT; CounterOBJ NEU
                                        17.08.2017 ;20:54:37 ;DELTA;Change;1;rflink.0.channels.Cresta_2.RAIN;Cresta_ 2 Total rain level;2430,2;2430,2;2430,2;;0;551,6554;551,6554
                                        ```` `  Hi
                                        

                                        Am Log kann ich nix erkennen. Ich brauche am besten das Script und die werteentwicklung des datenpunktes. Z.b. durch den History Adapter. Auswerten kann ich das aber erst aber erst naechste Woche. Vielleicht kann aber jemand anderes zwischenzeitlich helfen.

                                        Vg looxer

                                        Gesendet von meinem SM-G935F mit Tapatalk

                                        1 Reply Last reply Reply Quote 0
                                        • N
                                          noxx last edited by

                                          mehr als hier habe ich nicht geändert

                                          http://forum.iobroker.net/viewtopic.php … 120#p80053
                                          2880_01.png

                                          1 Reply Last reply Reply Quote 0
                                          • K
                                            knopers1 last edited by

                                            @Noxx

                                            sobald ich das Script mit dem Verbrauchrechner starte, bekomme ich folgende Fehlermeldung:

                                            20:02:33.014	[info]	javascript.0 Start javascript script.js.common.Rechner
                                            20:02:33.015	[info]	javascript.0 script.js.common.Rechner: getState(id=javascript.0.GasMeter.Wert, timerId=0) => {"val":"0.12","ack":false,"ts":1503079321033,"q":0,"from":"system.adapter.javascript.0","lc":1503078481894}
                                            20:02:33.016	[info]	javascript.0 script.js.common.Rechner: getObject(id= , enumName=undefined) => does not exist
                                            20:02:33.016	[error]	javascript.0 script.js.common.Rechner: script.js.common.Rechner:323
                                            20:02:33.017	[error]	javascript.0 at script.js.common.Rechner:323:47
                                            

                                            das hier ist wichtig meiner Meinung!

                                            20:02:33.016 [info] javascript.0 script.js.common.Rechner: getObject(id= , enumName=undefined) => does not exist

                                            Dies bezieht sich möglicherweise auf die Objekt ID was wir mit dem Script erzeugt haben, um den Zählsensor des Wemos über die Http Seite auszulesen.

                                            Gruppen[ 0]  = ['javascript.0.GasMeter.Wert'                                ,''                                 ,true  ,true  ,false  ,true  ,true  ,false  ,'delta'      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
                                            

                                            und dort sieht man sogar mein Zählerstand des Wemos!

                                            0:02:33.015 [info] javascript.0 script.js.common.Rechner: getState(id=javascript.0.GasMeter.Wert, timerId=0) => {"val":"0.12","ack":false,"ts":1503079321033,"q":0,"from":"system.adapter.javascript.0","lc":1503078481894}

                                            Hast Du den Fehler auchbeim starten des Generischen Betriebsstundenzähler und Verbrauchsrechner - Scriptes ???
                                            1526_unbenannt4.png
                                            1526_unbenannt5.png
                                            1526_unbenannt6.png

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            446
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            51
                                            333
                                            79262
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo