Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Vorlage] Stromverbrauch protokollieren - (etwas optimiert)

    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] Stromverbrauch protokollieren - (etwas optimiert)

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

      So habe ich gemacht, zwei Warnmeldungen für Allgemeinstrom:

      ! javascript.0 2018-03-21 20:38:08.975 info script.js.common.Messscripte.Stromzaehler: –---------- ENDE ------------
      ! javascript.0 2018-03-21 20:38:08.974 info script.js.common.Messscripte.Stromzaehler: Zählerstände für das Gerät Gesamtstrom_EK (Tag) in Objekten gespeichert
      ! javascript.0 2018-03-21 20:38:08.974 info script.js.common.Messscripte.Stromzaehler: Stromkosten und Stromverbrauch für das Gerät Gesamtstrom_EK (Tag) zurückgesetzt
      ! javascript.0 2018-03-21 20:38:08.974 warn Object "javascript.0.Strom.Gesamtstrom_EK.Kosten._Tag.Tag_8" does not exist
      ! javascript.0 2018-03-21 20:38:08.973 warn Object "javascript.0.Strom.Gesamtstrom_EK.Verbrauch._Tag.Tag_8" does not exist
      ! javascript.0 2018-03-21 20:38:08.973 info script.js.common.Messscripte.Stromzaehler: Stromverbrauch und -kosten (Gesamtstrom_EK) aktualisiert
      ! javascript.0 2018-03-21 20:38:08.972 info script.js.common.Messscripte.Stromzaehler: States in der Instanz javascript.0.Strom. erstellt
      ! javascript.0 2018-03-21 20:38:08.972 info script.js.common.Messscripte.Stromzaehler: Nach der Aufbereitung: Gesamtstrom_EK
      ! javascript.0 2018-03-21 20:38:08.972 info script.js.common.Messscripte.Stromzaehler: Es wird der Aliasname gesetzt:Gesamtstrom_EK
      ! javascript.0 2018-03-21 20:38:08.972 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe4:HauptstromEKinWh:value
      ! javascript.0 2018-03-21 20:38:08.971 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe3:Hauptstrom EK in Wh: value
      ! javascript.0 2018-03-21 20:38:08.971 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe2:Hauptstrom EK in Wh: value
      ! javascript.0 2018-03-21 20:38:08.971 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe1:Hauptstrom EK in Wh: value
      ! javascript.0 2018-03-21 20:38:08.970 info script.js.common.Messscripte.Stromzaehler: vor der Aufbereitung: Hauptstrom EK in Wh: value
      ! javascript.0 2018-03-21 20:38:08.970 info script.js.common.Messscripte.Stromzaehler: Einheit: undefined
      ! javascript.0 2018-03-21 20:38:08.970 info script.js.common.Messscripte.Stromzaehler: alter Wert: 14547000
      ! javascript.0 2018-03-21 20:38:08.969 info script.js.common.Messscripte.Stromzaehler: neuer Wert: 14548000
      ! javascript.0 2018-03-21 20:38:08.969 info script.js.common.Messscripte.Stromzaehler: device name: null
      ! javascript.0 2018-03-21 20:38:08.969 info script.js.common.Messscripte.Stromzaehler: device ID: null
      ! javascript.0 2018-03-21 20:38:08.968 info script.js.common.Messscripte.Stromzaehler: channel Name: Hauptstrom EK in Wh
      ! javascript.0 2018-03-21 20:38:08.968 info script.js.common.Messscripte.Stromzaehler: channel ID: loxone.0.114e32fd-004f-3263-ffff403fb0c34b9e
      ! javascript.0 2018-03-21 20:38:08.968 info script.js.common.Messscripte.Stromzaehler: Name: Hauptstrom EK in Wh: value
      ! javascript.0 2018-03-21 20:38:08.968 info script.js.common.Messscripte.Stromzaehler: id: loxone.0.114e32fd-004f-3263-ffff403fb0c34b9e.value
      ! javascript.0 2018-03-21 20:38:08.967 info script.js.common.Messscripte.Stromzaehler: Beschreibung: undefined
      ! javascript.0 2018-03-21 20:38:08.967 info script.js.common.Messscripte.Stromzaehler: Gewerk: undefined
      ! javascript.0 2018-03-21 20:38:08.967 info script.js.common.Messscripte.Stromzaehler: RegExp-Funktion ausgelöst
      ! javascript.0 2018-03-21 20:38:08.966 info script.js.common.Messscripte.Stromzaehler: -------- Strommesser ---------
      ! javascript.0 2018-03-21 20:38:08.966 info script.js.common.Messscripte.Jshint: ------------ ENDE ------------
      ! javascript.0 2018-03-21 20:38:08.966 info script.js.common.Messscripte.Jshint: Stromverbrauch und -kosten (Gesamtstrom EK) aktualisiert
      ! javascript.0 2018-03-21 20:38:08.965 info script.js.common.Messscripte.Jshint: Das Gerät:Gesamtstrom EK hat eigenen Strompreis: 0.26
      ! javascript.0 2018-03-21 20:38:08.965 info script.js.common.Messscripte.Jshint: States in der Instanz javascript.0.Strom. erstellt
      ! javascript.0 2018-03-21 20:38:08.965 info script.js.common.Messscripte.Jshint: Nach der Aufbereitung: Gesamtstrom EK
      ! javascript.0 2018-03-21 20:38:08.964 info script.js.common.Messscripte.Jshint: Es wird der Aliasname gesetzt:Gesamtstrom EK
      ! javascript.0 2018-03-21 20:38:08.964 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe4:HauptstromEKinWh:value
      ! javascript.0 2018-03-21 20:38:08.964 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe3:Hauptstrom EK in Wh: value
      ! javascript.0 2018-03-21 20:38:08.963 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe2:Hauptstrom EK in Wh: value
      ! javascript.0 2018-03-21 20:38:08.963 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe1:Hauptstrom EK in Wh: value
      ! javascript.0 2018-03-21 20:38:08.963 info script.js.common.Messscripte.Jshint: vor der Aufbereitung: Hauptstrom EK in Wh: value
      ! javascript.0 2018-03-21 20:38:08.963 info script.js.common.Messscripte.Jshint: Einheit: undefined
      ! javascript.0 2018-03-21 20:38:08.962 info script.js.common.Messscripte.Jshint: alter Wert: 14547000
      ! javascript.0 2018-03-21 20:38:08.962 info script.js.common.Messscripte.Jshint: neuer Wert: 14548000
      ! javascript.0 2018-03-21 20:38:08.962 info script.js.common.Messscripte.Jshint: device name: null
      ! javascript.0 2018-03-21 20:38:08.961 info script.js.common.Messscripte.Jshint: device ID: null
      ! javascript.0 2018-03-21 20:38:08.961 info script.js.common.Messscripte.Jshint: channel Name: Hauptstrom EK in Wh
      ! javascript.0 2018-03-21 20:38:08.961 info script.js.common.Messscripte.Jshint: channel ID: loxone.0.114e32fd-004f-3263-ffff403fb0c34b9e
      ! javascript.0 2018-03-21 20:38:08.960 info script.js.common.Messscripte.Jshint: Name: Hauptstrom EK in Wh: value
      ! javascript.0 2018-03-21 20:38:08.960 info script.js.common.Messscripte.Jshint: id: loxone.0.114e32fd-004f-3263-ffff403fb0c34b9e.value
      ! javascript.0 2018-03-21 20:38:08.960 info script.js.common.Messscripte.Jshint: Beschreibung: undefined
      ! javascript.0 2018-03-21 20:38:08.959 info script.js.common.Messscripte.Jshint: Gewerk: undefined
      ! javascript.0 2018-03-21 20:38:08.959 info script.js.common.Messscripte.Jshint: RegExp-Funktion ausgelöst
      ! javascript.0 2018-03-21 20:38:08.958 info script.js.common.Messscripte.Jshint: -------- Strommesser ---------
      ! javascript.0 2018-03-21 21:36:55.444 info script.js.common.Messscripte.Stromzaehler: registered 4 subscriptions and 5 schedules
      ! javascript.0 2018-03-21 21:36:55.444 info script.js.common.Messscripte.Stromzaehler: Alias:Zaehler_PV Datenpunkt:loxone.0.114edcd5-02a6-75f1-ffff403fb0c34b9e.value
      ! javascript.0 2018-03-21 21:36:55.443 info script.js.common.Messscripte.Stromzaehler: Alias:Gesamtstrom_VK Datenpunkt:loxone.0.114e32f2-02de-2a66-ffff403fb0c34b9e.value
      ! javascript.0 2018-03-21 21:36:55.443 info script.js.common.Messscripte.Stromzaehler: Alias:Gesamtstrom_EK Datenpunkt:loxone.0.114e32fd-004f-3263-ffff403fb0c34b9e.value
      ! javascript.0 2018-03-21 21:36:55.443 info script.js.common.Messscripte.Stromzaehler: Alias:Allgemeinstrom Datenpunkt:javascript.0.Allgemeinstrom_Zählerstand_KNXinW
      ! javascript.0 2018-03-21 21:36:55.404 info Start javascript script.js.common.Messscripte.Stromzaehler
      ! javascript.0 2018-03-21 21:36:55.367 info Stop script script.js.common.Messscripte.Stromzaehler
      ! javascript.0 2018-03-21 21:34:16.246 info script.js.common.Messscripte.Stromzaehler: registered 4 subscriptions and 5 schedules
      ! javascript.0 2018-03-21 21:34:16.246 info script.js.common.Messscripte.Stromzaehler: Alias:Zaehler_PV Datenpunkt:loxone.0.114edcd5-02a6-75f1-ffff403fb0c34b9e.value
      ! javascript.0 2018-03-21 21:34:16.246 info script.js.common.Messscripte.Stromzaehler: Alias:Gesamtstrom_VK Datenpunkt:loxone.0.114e32f2-02de-2a66-ffff403fb0c34b9e.value
      ! javascript.0 2018-03-21 21:34:16.245 info script.js.common.Messscripte.Stromzaehler: Alias:Gesamtstrom_EK Datenpunkt:loxone.0.114e32fd-004f-3263-ffff403fb0c34b9e.value
      ! javascript.0 2018-03-21 21:34:16.243 info script.js.common.Messscripte.Stromzaehler: Alias:Allgemeinstrom Datenpunkt:javascript.0.Allgemeinstrom_Zählerstand_KNXinW
      ! javascript.0 2018-03-21 21:34:16.173 info Start javascript script.js.common.Messscripte.Stromzaehler
      ! javascript.0 2018-03-21 21:34:16.135 info Stop script script.js.common.Messscripte.Stromzaehler
      ! javascript.0 2018-03-21 20:07:54.895 info script.js.common.Messscripte.Stromzaehler: ------------ ENDE ------------
      ! javascript.0 2018-03-21 20:07:54.895 info script.js.common.Messscripte.Stromzaehler: Stromverbrauch und -kosten (Gesamtstrom_EK) aktualisiert
      ! javascript.0 2018-03-21 20:07:54.890 info script.js.common.Messscripte.Stromzaehler: States in der Instanz javascript.0.Strom. erstellt
      ! javascript.0 2018-03-21 20:07:54.882 info script.js.common.Messscripte.Stromzaehler: Nach der Aufbereitung: Gesamtstrom_EK
      ! javascript.0 2018-03-21 20:07:54.882 info script.js.common.Messscripte.Stromzaehler: Es wird der Aliasname gesetzt:Gesamtstrom_EK
      ! javascript.0 2018-03-21 20:07:54.882 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe4:HauptstromEKinWh:value
      ! javascript.0 2018-03-21 20:07:54.882 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe3:Hauptstrom EK in Wh: value
      ! javascript.0 2018-03-21 20:07:54.881 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe2:Hauptstrom EK in Wh: value
      ! javascript.0 2018-03-21 20:07:54.881 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe1:Hauptstrom EK in Wh: value
      ! javascript.0 2018-03-21 20:07:54.881 info script.js.common.Messscripte.Stromzaehler: vor der Aufbereitung: Hauptstrom EK in Wh: value
      ! javascript.0 2018-03-21 20:07:54.881 info script.js.common.Messscripte.Stromzaehler: Einheit: undefined
      ! javascript.0 2018-03-21 20:07:54.881 info script.js.common.Messscripte.Stromzaehler: alter Wert: 14546000
      ! javascript.0 2018-03-21 20:07:54.881 info script.js.common.Messscripte.Stromzaehler: neuer Wert: 14547000
      ! javascript.0 2018-03-21 20:07:54.880 info script.js.common.Messscripte.Stromzaehler: device name: null
      ! javascript.0 2018-03-21 20:07:54.880 info script.js.common.Messscripte.Stromzaehler: device ID: null
      ! javascript.0 2018-03-21 20:07:54.880 info script.js.common.Messscripte.Stromzaehler: channel Name: Hauptstrom EK in Wh
      ! javascript.0 2018-03-21 20:07:54.880 info script.js.common.Messscripte.Stromzaehler: channel ID: loxone.0.114e32fd-004f-3263-ffff403fb0c34b9e
      ! javascript.0 2018-03-21 20:07:54.880 info script.js.common.Messscripte.Stromzaehler: Name: Hauptstrom EK in Wh: value
      ! javascript.0 2018-03-21 20:07:54.880 info script.js.common.Messscripte.Stromzaehler: id: loxone.0.114e32fd-004f-3263-ffff403fb0c34b9e.value
      ! javascript.0 2018-03-21 20:07:54.879 info script.js.common.Messscripte.Stromzaehler: Beschreibung: undefined
      ! javascript.0 2018-03-21 20:07:54.879 info script.js.common.Messscripte.Stromzaehler: Gewerk: undefined
      ! javascript.0 2018-03-21 20:07:54.879 info script.js.common.Messscripte.Stromzaehler: RegExp-Funktion ausgelöst
      ! javascript.0 2018-03-21 20:07:54.879 info script.js.common.Messscripte.Stromzaehler: -------- Strommesser ---------
      ! javascript.0 2018-03-21 20:07:54.879 info script.js.common.Messscripte.Jshint: ------------ ENDE ------------
      ! javascript.0 2018-03-21 20:07:54.878 info script.js.common.Messscripte.Jshint: Stromverbrauch und -kosten (Gesamtstrom EK) aktualisiert
      ! javascript.0 2018-03-21 20:07:54.874 info script.js.common.Messscripte.Jshint: Das Gerät:Gesamtstrom EK hat eigenen Strompreis: 0.26
      ! javascript.0 2018-03-21 20:07:54.871 info script.js.common.Messscripte.Jshint: States in der Instanz javascript.0.Strom. erstellt
      ! javascript.0 2018-03-21 20:07:54.848 info script.js.common.Messscripte.Jshint: Nach der Aufbereitung: Gesamtstrom EK
      ! javascript.0 2018-03-21 20:07:54.847 info script.js.common.Messscripte.Jshint: Es wird der Aliasname gesetzt:Gesamtstrom EK
      ! javascript.0 2018-03-21 20:07:54.847 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe4:HauptstromEKinWh:value
      ! javascript.0 2018-03-21 20:07:54.846 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe3:Hauptstrom EK in Wh: value
      ! javascript.0 2018-03-21 20:07:54.846 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe2:Hauptstrom EK in Wh: value
      ! javascript.0 2018-03-21 20:07:54.845 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe1:Hauptstrom EK in Wh: value
      ! javascript.0 2018-03-21 20:07:54.845 info script.js.common.Messscripte.Jshint: vor der Aufbereitung: Hauptstrom EK in Wh: value
      ! javascript.0 2018-03-21 20:07:54.844 info script.js.common.Messscripte.Jshint: Einheit: undefined
      ! javascript.0 2018-03-21 20:07:54.842 info script.js.common.Messscripte.Jshint: alter Wert: 14546000
      ! javascript.0 2018-03-21 20:07:54.842 info script.js.common.Messscripte.Jshint: neuer Wert: 14547000
      ! javascript.0 2018-03-21 20:07:54.841 info script.js.common.Messscripte.Jshint: device name: null
      ! javascript.0 2018-03-21 20:07:54.840 info script.js.common.Messscripte.Jshint: device ID: null
      ! javascript.0 2018-03-21 20:07:54.839 info script.js.common.Messscripte.Jshint: channel Name: Hauptstrom EK in Wh
      ! javascript.0 2018-03-21 20:07:54.836 info script.js.common.Messscripte.Jshint: channel ID: loxone.0.114e32fd-004f-3263-ffff403fb0c34b9e
      ! javascript.0 2018-03-21 20:07:54.835 info script.js.common.Messscripte.Jshint: Name: Hauptstrom EK in Wh: value
      ! javascript.0 2018-03-21 20:07:54.834 info script.js.common.Messscripte.Jshint: id: loxone.0.114e32fd-004f-3263-ffff403fb0c34b9e.value
      ! javascript.0 2018-03-21 20:07:54.834 info script.js.common.Messscripte.Jshint: Beschreibung: undefined
      ! javascript.0 2018-03-21 20:07:54.833 info script.js.common.Messscripte.Jshint: Gewerk: undefined
      ! javascript.0 2018-03-21 20:07:54.832 info script.js.common.Messscripte.Jshint: RegExp-Funktion ausgelöst
      ! javascript.0 2018-03-21 20:07:54.830 info script.js.common.Messscripte.Jshint: -------- Strommesser ---------

      Jetzt müßte aber beim EK Strom doch ein Tageswechsel passiert sein, oder? So sehen die Daten aus:

      4489_bildschirmfoto_2018-03-21_um_20.44.04.png

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

        @Mac:

        So habe ich gemacht, zwei Warnmeldungen für Allgemeinstrom:

        ! javascript.0 2018-03-21 20:38:08.975 info script.js.common.Messscripte.Stromzaehler: –---------- ENDE ------------
        ! javascript.0 2018-03-21 20:38:08.974 info script.js.common.Messscripte.Stromzaehler: Zählerstände für das Gerät Gesamtstrom_EK (Tag) in Objekten gespeichert
        ! javascript.0 2018-03-21 20:38:08.974 info script.js.common.Messscripte.Stromzaehler: Stromkosten und Stromverbrauch für das Gerät Gesamtstrom_EK (Tag) zurückgesetzt
        ! javascript.0 2018-03-21 20:38:08.974 warn Object "javascript.0.Strom.Gesamtstrom_EK.Kosten._Tag.Tag_8" does not exist
        ! javascript.0 2018-03-21 20:38:08.973 warn Object "javascript.0.Strom.Gesamtstrom_EK.Verbrauch._Tag.Tag_8" does not exist
        ! javascript.0 2018-03-21 20:38:08.973 info script.js.common.Messscripte.Stromzaehler: Stromverbrauch und -kosten (Gesamtstrom_EK) aktualisiert
        ! javascript.0 2018-03-21 20:38:08.972 info script.js.common.Messscripte.Stromzaehler: States in der Instanz javascript.0.Strom. erstellt
        ! javascript.0 2018-03-21 20:38:08.972 info script.js.common.Messscripte.Stromzaehler: Nach der Aufbereitung: Gesamtstrom_EK
        ! javascript.0 2018-03-21 20:38:08.972 info script.js.common.Messscripte.Stromzaehler: Es wird der Aliasname gesetzt:Gesamtstrom_EK
        ! javascript.0 2018-03-21 20:38:08.972 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe4:HauptstromEKinWh:value
        ! javascript.0 2018-03-21 20:38:08.971 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe3:Hauptstrom EK in Wh: value
        ! javascript.0 2018-03-21 20:38:08.971 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe2:Hauptstrom EK in Wh: value
        ! javascript.0 2018-03-21 20:38:08.971 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe1:Hauptstrom EK in Wh: value
        ! javascript.0 2018-03-21 20:38:08.970 info script.js.common.Messscripte.Stromzaehler: vor der Aufbereitung: Hauptstrom EK in Wh: value
        ! javascript.0 2018-03-21 20:38:08.970 info script.js.common.Messscripte.Stromzaehler: Einheit: undefined
        ! javascript.0 2018-03-21 20:38:08.970 info script.js.common.Messscripte.Stromzaehler: alter Wert: 14547000
        ! javascript.0 2018-03-21 20:38:08.969 info script.js.common.Messscripte.Stromzaehler: neuer Wert: 14548000
        ! javascript.0 2018-03-21 20:38:08.969 info script.js.common.Messscripte.Stromzaehler: device name: null
        ! javascript.0 2018-03-21 20:38:08.969 info script.js.common.Messscripte.Stromzaehler: device ID: null
        ! javascript.0 2018-03-21 20:38:08.968 info script.js.common.Messscripte.Stromzaehler: channel Name: Hauptstrom EK in Wh
        ! javascript.0 2018-03-21 20:38:08.968 info script.js.common.Messscripte.Stromzaehler: channel ID: loxone.0.114e32fd-004f-3263-ffff403fb0c34b9e
        ! javascript.0 2018-03-21 20:38:08.968 info script.js.common.Messscripte.Stromzaehler: Name: Hauptstrom EK in Wh: value
        ! javascript.0 2018-03-21 20:38:08.968 info script.js.common.Messscripte.Stromzaehler: id: loxone.0.114e32fd-004f-3263-ffff403fb0c34b9e.value
        ! javascript.0 2018-03-21 20:38:08.967 info script.js.common.Messscripte.Stromzaehler: Beschreibung: undefined
        ! javascript.0 2018-03-21 20:38:08.967 info script.js.common.Messscripte.Stromzaehler: Gewerk: undefined
        ! javascript.0 2018-03-21 20:38:08.967 info script.js.common.Messscripte.Stromzaehler: RegExp-Funktion ausgelöst
        ! javascript.0 2018-03-21 20:38:08.966 info script.js.common.Messscripte.Stromzaehler: -------- Strommesser ---------
        ! javascript.0 2018-03-21 20:38:08.966 info script.js.common.Messscripte.Jshint: ------------ ENDE ------------
        ! javascript.0 2018-03-21 20:38:08.966 info script.js.common.Messscripte.Jshint: Stromverbrauch und -kosten (Gesamtstrom EK) aktualisiert
        ! javascript.0 2018-03-21 20:38:08.965 info script.js.common.Messscripte.Jshint: Das Gerät:Gesamtstrom EK hat eigenen Strompreis: 0.26
        ! javascript.0 2018-03-21 20:38:08.965 info script.js.common.Messscripte.Jshint: States in der Instanz javascript.0.Strom. erstellt
        ! javascript.0 2018-03-21 20:38:08.965 info script.js.common.Messscripte.Jshint: Nach der Aufbereitung: Gesamtstrom EK
        ! javascript.0 2018-03-21 20:38:08.964 info script.js.common.Messscripte.Jshint: Es wird der Aliasname gesetzt:Gesamtstrom EK
        ! javascript.0 2018-03-21 20:38:08.964 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe4:HauptstromEKinWh:value
        ! javascript.0 2018-03-21 20:38:08.964 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe3:Hauptstrom EK in Wh: value
        ! javascript.0 2018-03-21 20:38:08.963 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe2:Hauptstrom EK in Wh: value
        ! javascript.0 2018-03-21 20:38:08.963 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe1:Hauptstrom EK in Wh: value
        ! javascript.0 2018-03-21 20:38:08.963 info script.js.common.Messscripte.Jshint: vor der Aufbereitung: Hauptstrom EK in Wh: value
        ! javascript.0 2018-03-21 20:38:08.963 info script.js.common.Messscripte.Jshint: Einheit: undefined
        ! javascript.0 2018-03-21 20:38:08.962 info script.js.common.Messscripte.Jshint: alter Wert: 14547000
        ! javascript.0 2018-03-21 20:38:08.962 info script.js.common.Messscripte.Jshint: neuer Wert: 14548000
        ! javascript.0 2018-03-21 20:38:08.962 info script.js.common.Messscripte.Jshint: device name: null
        ! javascript.0 2018-03-21 20:38:08.961 info script.js.common.Messscripte.Jshint: device ID: null
        ! javascript.0 2018-03-21 20:38:08.961 info script.js.common.Messscripte.Jshint: channel Name: Hauptstrom EK in Wh
        ! javascript.0 2018-03-21 20:38:08.961 info script.js.common.Messscripte.Jshint: channel ID: loxone.0.114e32fd-004f-3263-ffff403fb0c34b9e
        ! javascript.0 2018-03-21 20:38:08.960 info script.js.common.Messscripte.Jshint: Name: Hauptstrom EK in Wh: value
        ! javascript.0 2018-03-21 20:38:08.960 info script.js.common.Messscripte.Jshint: id: loxone.0.114e32fd-004f-3263-ffff403fb0c34b9e.value
        ! javascript.0 2018-03-21 20:38:08.960 info script.js.common.Messscripte.Jshint: Beschreibung: undefined
        ! javascript.0 2018-03-21 20:38:08.959 info script.js.common.Messscripte.Jshint: Gewerk: undefined
        ! javascript.0 2018-03-21 20:38:08.959 info script.js.common.Messscripte.Jshint: RegExp-Funktion ausgelöst
        ! javascript.0 2018-03-21 20:38:08.958 info script.js.common.Messscripte.Jshint: -------- Strommesser ---------
        ! javascript.0 2018-03-21 21:36:55.444 info script.js.common.Messscripte.Stromzaehler: registered 4 subscriptions and 5 schedules
        ! javascript.0 2018-03-21 21:36:55.444 info script.js.common.Messscripte.Stromzaehler: Alias:Zaehler_PV Datenpunkt:loxone.0.114edcd5-02a6-75f1-ffff403fb0c34b9e.value
        ! javascript.0 2018-03-21 21:36:55.443 info script.js.common.Messscripte.Stromzaehler: Alias:Gesamtstrom_VK Datenpunkt:loxone.0.114e32f2-02de-2a66-ffff403fb0c34b9e.value
        ! javascript.0 2018-03-21 21:36:55.443 info script.js.common.Messscripte.Stromzaehler: Alias:Gesamtstrom_EK Datenpunkt:loxone.0.114e32fd-004f-3263-ffff403fb0c34b9e.value
        ! javascript.0 2018-03-21 21:36:55.443 info script.js.common.Messscripte.Stromzaehler: Alias:Allgemeinstrom Datenpunkt:javascript.0.Allgemeinstrom_Zählerstand_KNXinW
        ! javascript.0 2018-03-21 21:36:55.404 info Start javascript script.js.common.Messscripte.Stromzaehler
        ! javascript.0 2018-03-21 21:36:55.367 info Stop script script.js.common.Messscripte.Stromzaehler
        ! javascript.0 2018-03-21 21:34:16.246 info script.js.common.Messscripte.Stromzaehler: registered 4 subscriptions and 5 schedules
        ! javascript.0 2018-03-21 21:34:16.246 info script.js.common.Messscripte.Stromzaehler: Alias:Zaehler_PV Datenpunkt:loxone.0.114edcd5-02a6-75f1-ffff403fb0c34b9e.value
        ! javascript.0 2018-03-21 21:34:16.246 info script.js.common.Messscripte.Stromzaehler: Alias:Gesamtstrom_VK Datenpunkt:loxone.0.114e32f2-02de-2a66-ffff403fb0c34b9e.value
        ! javascript.0 2018-03-21 21:34:16.245 info script.js.common.Messscripte.Stromzaehler: Alias:Gesamtstrom_EK Datenpunkt:loxone.0.114e32fd-004f-3263-ffff403fb0c34b9e.value
        ! javascript.0 2018-03-21 21:34:16.243 info script.js.common.Messscripte.Stromzaehler: Alias:Allgemeinstrom Datenpunkt:javascript.0.Allgemeinstrom_Zählerstand_KNXinW
        ! javascript.0 2018-03-21 21:34:16.173 info Start javascript script.js.common.Messscripte.Stromzaehler
        ! javascript.0 2018-03-21 21:34:16.135 info Stop script script.js.common.Messscripte.Stromzaehler
        ! javascript.0 2018-03-21 20:07:54.895 info script.js.common.Messscripte.Stromzaehler: ------------ ENDE ------------
        ! javascript.0 2018-03-21 20:07:54.895 info script.js.common.Messscripte.Stromzaehler: Stromverbrauch und -kosten (Gesamtstrom_EK) aktualisiert
        ! javascript.0 2018-03-21 20:07:54.890 info script.js.common.Messscripte.Stromzaehler: States in der Instanz javascript.0.Strom. erstellt
        ! javascript.0 2018-03-21 20:07:54.882 info script.js.common.Messscripte.Stromzaehler: Nach der Aufbereitung: Gesamtstrom_EK
        ! javascript.0 2018-03-21 20:07:54.882 info script.js.common.Messscripte.Stromzaehler: Es wird der Aliasname gesetzt:Gesamtstrom_EK
        ! javascript.0 2018-03-21 20:07:54.882 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe4:HauptstromEKinWh:value
        ! javascript.0 2018-03-21 20:07:54.882 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe3:Hauptstrom EK in Wh: value
        ! javascript.0 2018-03-21 20:07:54.881 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe2:Hauptstrom EK in Wh: value
        ! javascript.0 2018-03-21 20:07:54.881 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe1:Hauptstrom EK in Wh: value
        ! javascript.0 2018-03-21 20:07:54.881 info script.js.common.Messscripte.Stromzaehler: vor der Aufbereitung: Hauptstrom EK in Wh: value
        ! javascript.0 2018-03-21 20:07:54.881 info script.js.common.Messscripte.Stromzaehler: Einheit: undefined
        ! javascript.0 2018-03-21 20:07:54.881 info script.js.common.Messscripte.Stromzaehler: alter Wert: 14546000
        ! javascript.0 2018-03-21 20:07:54.881 info script.js.common.Messscripte.Stromzaehler: neuer Wert: 14547000
        ! javascript.0 2018-03-21 20:07:54.880 info script.js.common.Messscripte.Stromzaehler: device name: null
        ! javascript.0 2018-03-21 20:07:54.880 info script.js.common.Messscripte.Stromzaehler: device ID: null
        ! javascript.0 2018-03-21 20:07:54.880 info script.js.common.Messscripte.Stromzaehler: channel Name: Hauptstrom EK in Wh
        ! javascript.0 2018-03-21 20:07:54.880 info script.js.common.Messscripte.Stromzaehler: channel ID: loxone.0.114e32fd-004f-3263-ffff403fb0c34b9e
        ! javascript.0 2018-03-21 20:07:54.880 info script.js.common.Messscripte.Stromzaehler: Name: Hauptstrom EK in Wh: value
        ! javascript.0 2018-03-21 20:07:54.880 info script.js.common.Messscripte.Stromzaehler: id: loxone.0.114e32fd-004f-3263-ffff403fb0c34b9e.value
        ! javascript.0 2018-03-21 20:07:54.879 info script.js.common.Messscripte.Stromzaehler: Beschreibung: undefined
        ! javascript.0 2018-03-21 20:07:54.879 info script.js.common.Messscripte.Stromzaehler: Gewerk: undefined
        ! javascript.0 2018-03-21 20:07:54.879 info script.js.common.Messscripte.Stromzaehler: RegExp-Funktion ausgelöst
        ! javascript.0 2018-03-21 20:07:54.879 info script.js.common.Messscripte.Stromzaehler: -------- Strommesser ---------
        ! javascript.0 2018-03-21 20:07:54.879 info script.js.common.Messscripte.Jshint: ------------ ENDE ------------
        ! javascript.0 2018-03-21 20:07:54.878 info script.js.common.Messscripte.Jshint: Stromverbrauch und -kosten (Gesamtstrom EK) aktualisiert
        ! javascript.0 2018-03-21 20:07:54.874 info script.js.common.Messscripte.Jshint: Das Gerät:Gesamtstrom EK hat eigenen Strompreis: 0.26
        ! javascript.0 2018-03-21 20:07:54.871 info script.js.common.Messscripte.Jshint: States in der Instanz javascript.0.Strom. erstellt
        ! javascript.0 2018-03-21 20:07:54.848 info script.js.common.Messscripte.Jshint: Nach der Aufbereitung: Gesamtstrom EK
        ! javascript.0 2018-03-21 20:07:54.847 info script.js.common.Messscripte.Jshint: Es wird der Aliasname gesetzt:Gesamtstrom EK
        ! javascript.0 2018-03-21 20:07:54.847 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe4:HauptstromEKinWh:value
        ! javascript.0 2018-03-21 20:07:54.846 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe3:Hauptstrom EK in Wh: value
        ! javascript.0 2018-03-21 20:07:54.846 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe2:Hauptstrom EK in Wh: value
        ! javascript.0 2018-03-21 20:07:54.845 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe1:Hauptstrom EK in Wh: value
        ! javascript.0 2018-03-21 20:07:54.845 info script.js.common.Messscripte.Jshint: vor der Aufbereitung: Hauptstrom EK in Wh: value
        ! javascript.0 2018-03-21 20:07:54.844 info script.js.common.Messscripte.Jshint: Einheit: undefined
        ! javascript.0 2018-03-21 20:07:54.842 info script.js.common.Messscripte.Jshint: alter Wert: 14546000
        ! javascript.0 2018-03-21 20:07:54.842 info script.js.common.Messscripte.Jshint: neuer Wert: 14547000
        ! javascript.0 2018-03-21 20:07:54.841 info script.js.common.Messscripte.Jshint: device name: null
        ! javascript.0 2018-03-21 20:07:54.840 info script.js.common.Messscripte.Jshint: device ID: null
        ! javascript.0 2018-03-21 20:07:54.839 info script.js.common.Messscripte.Jshint: channel Name: Hauptstrom EK in Wh
        ! javascript.0 2018-03-21 20:07:54.836 info script.js.common.Messscripte.Jshint: channel ID: loxone.0.114e32fd-004f-3263-ffff403fb0c34b9e
        ! javascript.0 2018-03-21 20:07:54.835 info script.js.common.Messscripte.Jshint: Name: Hauptstrom EK in Wh: value
        ! javascript.0 2018-03-21 20:07:54.834 info script.js.common.Messscripte.Jshint: id: loxone.0.114e32fd-004f-3263-ffff403fb0c34b9e.value
        ! javascript.0 2018-03-21 20:07:54.834 info script.js.common.Messscripte.Jshint: Beschreibung: undefined
        ! javascript.0 2018-03-21 20:07:54.833 info script.js.common.Messscripte.Jshint: Gewerk: undefined
        ! javascript.0 2018-03-21 20:07:54.832 info script.js.common.Messscripte.Jshint: RegExp-Funktion ausgelöst
        ! javascript.0 2018-03-21 20:07:54.830 info script.js.common.Messscripte.Jshint: -------- Strommesser ---------

        Jetzt müßte aber beim EK Strom doch ein Tageswechsel passiert sein, oder? So sehen die Daten aus:

        Bildschirmfoto 2018-03-21 um 20.44.04.png `

        javascript.0 2018-03-21 20:38:08.973 warn Object "javascript.0.Strom.Gesamtstrom_EK.Verbrauch._Tag.Tag_8" does not exist

        diese Warnmeldung ist normal, da du ja vermutlich nur 7 Tage eingestellt hast.

        In deinen Daten auf dem sql ist aber nix von 21:30 Uhr drin sondern nur von 0:26 Uhr bis 5:27 Uhr

        das ganze verhält sich ja so, wie ich mitbekommen habe. Um 0 Uhr wird true gesetzt, wenn dann danach die Steckdose an gemacht wird und wieder ausgemacht wird und dann wieder angemacht wird, werden die Daten übertragen, vorausgesetzt der Verbrauch ändert sich auch. Wie es bei einem Stromzähler ist, kann ich nicht sagen, da ich bis gestern keinen in meinem System drin hatte. Und als ich meinen Stromzähler integriert habe, hatte ich mein System soweit geändert, dass es nachts um 0 Uhr nicht auf true schält sondern gleich schreibt. Das ist der Teil, den dering vorhins nach github übernehmen wollte.

        1 Reply Last reply Reply Quote 0
        • M
          Mac last edited by

          Genau das irritiert mich ja auch. Kann es vielleicht damit zusammenhängen, dass ich die kW Werte meines Stromzählers multipliziere in einen neuen Datenpunkt, das das Script nur W verarbeiten kann?

          Am besten Warte ich die Änderung des Scripts ab, setze das ein und schaue dann mal. Vielleicht wird es ja auch noch eine Möglichkeit geben die kW Direkt zu verarbeiten.

          Vielen Dank erst einmal für Deine Hilfe, leider fehlen mir die Java Kenntnisse um mitzuhelfen.

          1 Reply Last reply Reply Quote 0
          • M
            msr last edited by

            Hallo zusammen,

            ich bin neu hier und mache gerade meine ersten Schritte mit ioBroker. Bis jetzt gefällt mir alles sehr gut. Nun habe ich ein Problem, bei dem ich nicht weiterkomme. Ich bin deshalb dankbar für jede Hilfe.

            Ich habe ein KNX-System. Innerhalb dieses Systems gibt es zwei KNX-Stromzähler, die mir im Abstand von 5 Minuten den jeweiligen Zählerstand auf den Bus senden. Diesen Wert bekomme ich bei ioBroker angezeigt. Ich möchte nun eine Chart erstellen, die den Stromverbrauch pro Tag, pro Woche, pro Monat und pro Jahr anzeigt (auswählbar). Obwohl Blockly sehr übersichtlich ist, verstehe ich nicht, wie ich so etwas umsetzen kann. Aus meinem Verständnis muss der Wert um null Uhr gespeichert und vom „laufenden“ Tageswert abgezogen werden. Aber wie?

            Vielen Dank für eure Hilfe und viele Grüße, msr

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

              @Mac:

              Genau das irritiert mich ja auch. Kann es vielleicht damit zusammenhängen, dass ich die kW Werte meines Stromzählers multipliziere in einen neuen Datenpunkt, das das Script nur W verarbeiten kann?

              Am besten Warte ich die Änderung des Scripts ab, setze das ein und schaue dann mal. Vielleicht wird es ja auch noch eine Möglichkeit geben die kW Direkt zu verarbeiten.

              Vielen Dank erst einmal für Deine Hilfe, leider fehlen mir die Java Kenntnisse um mitzuhelfen. `

              Kannst ja bis dahin auch mein Script nutzen. Funktioniert bei mir sehr zuverlässig. Wie gestern schon erwähnt, auch heute morgen wieder alle Stände für heute auf 0 und Verbräuche des gestrigen Tages auf Tag1.

              ! ```
              `//jshint maxerr:1000
              // https://github.com/hdering/homematic_stromverbrauch_protokollieren
              ! //----------------------------------------------------------------------------//
              ! // Version: 1.1.3
              ! //----------------------------------------------------------------------------//
              // +++++++++ USER ANPASSUNGEN ++++++++++++++++++++++++
              ! // debug logging
              var logging = true;
              ! // Aktivieren der History Instanz
              var enable_history = false;
              ! // history Instanz
              var instance_history = 'history.0';
              ! // Geräte können unterschiedliche Preise haben
              var enable_unterschiedlichePreise = false;
              ! // Speichern der Werte in zusätzlichen Objekten.
              // Wenn 0, dann deaktiviert
              var Tag_Anzahl_Werte_in_der_Vergangenheit = 14;
              var Woche_Anzahl_Werte_in_der_Vergangenheit = 6;
              var Monat_Anzahl_Werte_in_der_Vergangenheit = 24;
              var Quartal_Anzahl_Werte_in_der_Vergangenheit = 4;
              var Jahr_Anzahl_Werte_in_der_Vergangenheit = 5;
              ! var instance = '0';
              var instanz = 'javascript.' + instance + '.';
              ! // Pfad innerhalb der Instanz
              var pfad = 'Strom.';
              ! // Diese Teile werden aus den Gerätenamen entfernt
              var blacklist = [':1', ':2', ':3', ':4', ':5', ':6', ':7', ':8'];
              ! var AnzahlKommastellenKosten = 2;
              var AnzahlKommastellenVerbrauch = 3;
              var AnzahlKommastellenZaehlerstand = 3;
              ! var eigeneDatenpunkte = [
              // Beispiel:
              // ['Datenpunkt', 'Aliasname'],
              ! // [ 'hm-rpc.2.NEQ0861663.1.ENERGY_COUNTER', 'Stromzaehler:1.ENERGY_COUNTER' ],
              // [ 'javascript.1.MeinePower', 'MeinSonoff' ],
              // [ 'javascript.1.MeinePower2', 'Sonoff.MeinZweiterSonoff' ],
              ];
              ! // Pushmeldung
              function send_message(text) {

              // Hier können die Pushmeldung über alle möglichen Wege verschickt werden.
              
              //console.log(text);
              
              //sendTelegramToHermann(text);
              

              }

              ! // ++++ ENDE USER ANPASSUNGEN ++++++++++++++++++++++++
              //----------------------------------------------------------------------------//
              ! createState(pfad + 'Preis.aktuell.Arbeitspreis', {
              name: 'Strompreis - aktueller Arbeitspreis (brutto)',
              unit: '€/kWh',
              type: 'number',
              def: 0,
              min: 0
              });
              ! createState(pfad + 'Preis.aktuell.Grundpreis', {
              name: 'Strompreis - aktueller Grundpreis (brutto)',
              unit: '€/Monat',
              type: 'number',
              def: 0,
              min: 0
              });
              ! //----------------------------------
              ! createState(pfad + 'Preis.neu.Arbeitspreis', {
              name: 'Strompreis - neuer Arbeitspreis ab Datum (brutto)',
              unit: '€/kWh',
              type: 'number',
              def: 0,
              min: 0
              });
              ! createState(pfad + 'Preis.neu.Grundpreis', {
              name: 'Strompreis - neuer Grundpreis ab Datum (brutto)',
              unit: '€/Monat',
              type: 'number',
              def: 0,
              min: 0
              });
              ! createState(pfad + 'Preis.neu.Datum', {
              name: 'Strompreis und Grundpreis ab folgendem Datum zur Berechnung heranziehen (Beispiel 01.01.2019)',
              type: 'string',
              def: "01.01.1970",
              });
              ! createState(pfad + 'Preis.neu.PreisaenderungDurchgefuehrt', false, {
              read: true,
              write: true,
              type: "boolean",
              def: false
              });
              ! //----------------------------------------------------------------------------//
              ! var cacheSelectorStateMeter = $('channel[state.id=.METER]');
              var cacheSelectorStateEnergyCounter = $('channel[state.id=
              .ENERGY_COUNTER$]');
              ! //----------------------------------------------------------------------------//
              ! function parseObjects(id) {
              var obj = getObject(id);
              ! return entferneDatenpunkt(obj.common.name);
              }
              ! function setRecognizedChange(type, anzahl) {
              cacheSelectorStateMeter.each(function (id, i) {
              var geraetename = parseObjects(id);

                  //setState(pfad + geraetename + '.config.' + type, true);
              
              	rotateVerbrauchUndKosten(geraetename, type, anzahl);
              
                  resetVerbrauchUndKosten(geraetename, type);
              
                  schreibeZaehlerstand(geraetename, type);
              });
              

              ! cacheSelectorStateEnergyCounter.each(function (id, i) {
              var geraetename = parseObjects(id);
              ! //setState(pfad + geraetename + '.config.' + type, true);
              rotateVerbrauchUndKosten(geraetename, type, anzahl);

                  resetVerbrauchUndKosten(geraetename, type);
              
                  schreibeZaehlerstand(geraetename, type);
              });
              
              if (eigeneDatenpunkte.length > 0) {
              

              ! for(var i = 0; i < eigeneDatenpunkte.length; i++) {
              var alias = eigeneDatenpunkte[i][1];

                      //setState(pfad + alias + '.config.' + type, true);
              		rotateVerbrauchUndKosten(alias, type, anzahl);
              
                  	resetVerbrauchUndKosten(alias, type);
              
                  	schreibeZaehlerstand(alias, type);
                  }
              }
              

              }

              ! //----------------------------------------------------------------------------//
              ! // Tageswechsel
              schedule("0 0 * * *", function() {
              setRecognizedChange('Tag', Tag_Anzahl_Werte_in_der_Vergangenheit);
              });
              ! // Wochenwechsel
              schedule("0 0 * * 1", function() {
              setRecognizedChange('Woche', Woche_Anzahl_Werte_in_der_Vergangenheit);
              });
              ! // Monatswechsel
              schedule("0 0 1 * *", function() {
              setRecognizedChange('Monat', Monat_Anzahl_Werte_in_der_Vergangenheit);
              });
              ! // Quartalswechsel
              schedule("0 0 1 */3 *", function() {
              setRecognizedChange('Quartal', Quartal_Anzahl_Werte_in_der_Vergangenheit);
              });
              ! // Jahreswechsel
              schedule("0 0 1 1 *", function() {
              setRecognizedChange('Jahr', Jahr_Anzahl_Werte_in_der_Vergangenheit);
              });
              ! //----------------------------------------------------------------------------//
              ! // Eigene Datenpunkte
              function pruefeEigeneDatenpunkte() {

              if (eigeneDatenpunkte.length > 0) {
              
                  for(var i = 0; i < eigeneDatenpunkte.length; i++) {
              
                      var datenpunkt = eigeneDatenpunkte[i][0];
                      var alias = eigeneDatenpunkte[i][1];
              
                      if(logging) console.log("Alias:" + alias + " Datenpunkt:" + datenpunkt);
              

              ! on(datenpunkt, function(obj) {
              ! for(var i = 0; i < eigeneDatenpunkte.length; i++) {

                              if(eigeneDatenpunkte[i][0] === obj.id)    
                                  run(obj, eigeneDatenpunkte[i][1]);
                          }
                      });
                  }
              }
              

              }

              ! pruefeEigeneDatenpunkte();
              ! //----------------------------------------------------------------------------//
              ! // Einlesen der aktuellen Daten vom Zähler
              function run(obj, alias) {

              if(getState(instanz + pfad + 'Preis.aktuell.Arbeitspreis').val === 0) {
              
                  var message0 = 'Achtung!' + '.\n'
                              + 'Es wurde noch kein Arbeitspreis angegeben.' + '\n' 
                              + 'Ohne Arbeitspreis kann das Skript keine Berechnungen durchführen.' + '\n'
                              + 'Diese Information ist zwingend notwendig!';
              
                  log(message0, 'error');
              
              } else {
              

              ! if (logging) {
              log('-------- Strommesser ---------');
              log('RegExp-Funktion ausgelöst');
              log('Gewerk: ' + obj.role); // undefined
              log('Beschreibung: ' + obj.desc); // undefined
              log('id: ' + obj.id);
              log('Name: ' + obj.common.name); // Waschmaschine Küche:2.ENERGY_COUNTER
              log('channel ID: ' + obj.channelId); // hm-rpc.0.MEQ0170864.2
              log('channel Name: ' + obj.channelName); // Waschmaschine Küche:2
              log('device ID: ' + obj.deviceId); // hm-rpc.0.MEQ0170864
              log('device name: ' + obj.deviceName); // Küche Waschmaschine
              log('neuer Wert: ' + obj.newState.val); // 16499.699982
              log('alter Wert: ' + obj.oldState.val); // 16499.699982
              log('Einheit: ' + obj.common.unit); // Wh
              }
              ! // Gerätenamen erstellen
              if (logging) log('vor der Aufbereitung: ' + obj.common.name);

                  var geraetename = entferneDatenpunkt(obj.common.name);
              

              ! if(typeof alias !== "undefined") {
              if(logging) console.log("Es wird der Aliasname gesetzt:" + alias);

                      geraetename = alias;
                  }
              
                  if (logging) log('Nach der Aufbereitung: ' + geraetename); 
              
                  if(typeof geraetename !== "undefined") {
              
                      //------------------------------------------------------------------------//
              
                      // States erstellen (CreateStates für dieses Gerät)
                      erstelleStates(geraetename);
              
                      //------------------------------------------------------------------------//
              
                      // Schreiben der neuen Werte
              
                      var idKumuliert =  instanz + pfad + geraetename + '.Zaehlerstand.kumuliert';
              
                      var NeustartEventuellErkannt = false;
                      var NeustartSicherErkannt = false;
              
                      var oldState = obj.oldState.val;
                      var newState = obj.newState.val;
                      var difference = newState - oldState;
              
                      if(difference > 0) {
              
                          if(oldState !== 0) {
              
                              // Kumulierten Wert mit Ist-Wert (inkl. Backup) synchronisieren
                              var newValueKumuliert = getState(idKumuliert).val + difference;
              
                              newValueKumuliert = parseFloat(newValueKumuliert);
              
                              setState(idKumuliert, newValueKumuliert);
              
                          } else {
              
                              if(newState < getState(pfad + geraetename + '.config.NeustartErkanntAlterWert').val) {
              
                                  NeustartSicherErkannt = true;
                              }
                          }
              
                      } else {
              
                          // Fall 2 oder 3
                          // Irgendetwas läuft außerplanmäßig. Wert wird sicherheitshalber gespeichert und nächster Lauf abgewartet
                          NeustartEventuellErkannt = true;
              
                          setState(pfad + geraetename + '.config.NeustartErkanntAlterWert', obj.oldState.val);
                      }
              
                      if(NeustartEventuellErkannt) {
              
                          if(logging) {
                              var message =  geraetename + '\n'
                                              + 'Entweder die CCU oder Stromzähler wurden neugestartet/zurückgesetzt.\n'
                                              + 'Dieser Wert wird einmal ignoriert und auf den nächsten Wert gewartet.';
              
                              send_message(message);
                          }
                      }
              
                      if(NeustartSicherErkannt) {
              
                          // zurücksetzen der Variable
                          setState(pfad + geraetename + '.config.NeustartErkanntAlterWert', 0);
              
                          //----------------------------------------------------------------//
              
                          var message2 = geraetename + '\n'
                                      + 'Der Stromzähler (' + geraetename + ') ist übergelaufen, gelöscht oder neugestartet worden (ggf. Stromausfall).\n'
                                      + 'newState:' + obj.newState.val + '\n' 
                                      + 'oldState:' + obj.oldState.val + '\n'
                                      + 'difference:' + difference + '\n'
                                      + 'idKumuliert:' + getState(idKumuliert).val;
              
                          send_message(message2);
                      }
              
                      //--------------------------------------------------------------------//
              
                      pruefePreisaenderung();
              
                      if(enable_unterschiedlichePreise)
                          pruefePreisaenderung(geraetename);
              
                      var idStrompreis = instanz + pfad + 'Preis.aktuell.Arbeitspreis';
              
                      // aktualisiere den Verbrauch und die Kosten
                      _zaehler    = (getState(idKumuliert).val / 1000).toFixed(AnzahlKommastellenZaehlerstand);
                      _preis      = getState(idStrompreis).val;
              
                      // Wenn das Gerät einen eigenen Strompreis hat
                      if(enable_unterschiedlichePreise && getObject(instanz + pfad + geraetename + '.eigenerPreis.aktuell.Arbeitspreis')) {
              
                          if(getState(instanz + pfad + geraetename + '.eigenerPreis.aktuell.Arbeitspreis').val > 0) {
                              _preis = getState(instanz + pfad + geraetename + '.eigenerPreis.aktuell.Arbeitspreis').val;
              
                              if (logging) console.log("Das Gerät:" + geraetename + " hat eigenen Strompreis: " + _preis);
                          }
                      }
              
                      berechneVerbrauchUndKosten(geraetename, _zaehler, _preis); // in kWh
              
                      //--------------------------------------------------------------------//
                      // Zurücksetzen der Werte
              
                      if(getState(pfad + geraetename + '.config.Tag').val) {
              
                          if (logging) send_message("Tageswechsel wurde erkannt. (" + geraetename + ")");
              
                          setState(pfad + geraetename + '.config.Tag', false);
              
                          rotateVerbrauchUndKosten(geraetename, 'Tag', Tag_Anzahl_Werte_in_der_Vergangenheit);
              
                          resetVerbrauchUndKosten(geraetename, 'Tag');
              
                          schreibeZaehlerstand(geraetename, 'Tag');
                      }
              
                      if(getState(pfad + geraetename + '.config.Woche').val) {
              
                          if (logging) send_message("Wochenwechsel wurde erkannt. (" + geraetename + ")");
              
                          setState(pfad + geraetename + '.config.Woche', false);
              
                          rotateVerbrauchUndKosten(geraetename, 'Woche', Woche_Anzahl_Werte_in_der_Vergangenheit);
              
                          resetVerbrauchUndKosten(geraetename, 'Woche');
              
                          schreibeZaehlerstand(geraetename, 'Woche');
                      }
              
                      if(getState(pfad + geraetename + '.config.Monat').val) {
              
                          if (logging) send_message("Monatswechsel wurde erkannt. (" + geraetename + ")");
              
                          setState(pfad + geraetename + '.config.Monat', false);
              
                          rotateVerbrauchUndKosten(geraetename, 'Monat', Monat_Anzahl_Werte_in_der_Vergangenheit);
              
                          resetVerbrauchUndKosten(geraetename, 'Monat');
              
                          schreibeZaehlerstand(geraetename, 'Monat');
                      }
              
                      if(getState(pfad + geraetename + '.config.Quartal').val) {
              
                          if (logging) send_message("Quartalswechsel wurde erkannt. (" + geraetename + ")");
              
                          setState(pfad + geraetename + '.config.Quartal', false);
              
                          rotateVerbrauchUndKosten(geraetename, 'Quartal', Quartal_Anzahl_Werte_in_der_Vergangenheit);
              
                          resetVerbrauchUndKosten(geraetename, 'Quartal');
              
                          schreibeZaehlerstand(geraetename, 'Quartal');
                      }
              
                      if(getState(pfad + geraetename + '.config.Jahr').val) {
              
                          if (logging) send_message("Jahreswechsel wurde erkannt. (" + geraetename + ")");
              
                          setState(pfad + geraetename + '.config.Jahr', false);
              
                          rotateVerbrauchUndKosten(geraetename, 'Jahr', Jahr_Anzahl_Werte_in_der_Vergangenheit);
              
                          resetVerbrauchUndKosten(geraetename, 'Jahr');
              
                          schreibeZaehlerstand(geraetename, 'Jahr');
                      }
              
                      //--------------------------------------------------------------------//
              
                      if (logging) log('------------ ENDE ------------');
              
                  } else {
              
                      var message3 = 'Fehler beim Erstellen des Gerätenamens:\n'
                                  + 'obj.common.name: ' + obj.common.name;
              
                      send_message(message3);
                  }
              }
              

              }

              ! cacheSelectorStateMeter.on(function(obj) {
              run(obj);
              });
              ! cacheSelectorStateEnergyCounter.on(function(obj) {
              run(obj);
              });
              ! //----------------------------------------------------------------------------//
              ! function entferneDatenpunkt(geraet) {

              var rueckgabe = geraet;
              
              // ":2.ENERGY_COUNTER" --> ".ENERGY_COUNTER"
              if (geraet.indexOf(".ENERGY_COUNTER") != -1) {
              
                  rueckgabe = geraet.substring(0, geraet.indexOf(".ENERGY_COUNTER"));
              
              } else if (geraet.indexOf(".METER") != -1) {
              
                  rueckgabe = geraet.substring(0, geraet.indexOf(".METER"));
              }
              
              if (logging) log('entferneDatenpunkt - rueckgabe1:' + rueckgabe);
              

              ! // Rückgabe sollte keine Sonderzeichen oder Leerzeichen enthalten. Wenn doch, werden die entfernt oder ersetzt
              ! try {
              rueckgabe = checkBlacklist(rueckgabe);
              }
              catch(err) {
              if (logging) log('entferneDatenpunkt - rueckgabe2:' + rueckgabe + ' error:' + err);
              }
              finally {
              if (logging) log('entferneDatenpunkt - rueckgabe2:' + rueckgabe);
              }
              ! try {
              if (rueckgabe.charAt(rueckgabe.length - 1) == "-") rueckgabe = rueckgabe.substr(0, rueckgabe.length - 1);
              if (rueckgabe.charAt(rueckgabe.length - 1) == "\") rueckgabe = rueckgabe.substr(0, rueckgabe.length - 1);
              if (rueckgabe.charAt(rueckgabe.length - 1) == ":") rueckgabe = rueckgabe.substr(0, rueckgabe.length - 1);
              }
              catch(err) {
              if (logging) log('entferneDatenpunkt - rueckgabe3:' + rueckgabe + ' error:' + err);
              }
              finally {
              if (logging) log('entferneDatenpunkt - rueckgabe3:' + rueckgabe);
              }

              // per Regexp Leerzeichen entfernen
              try {
                  rueckgabe = rueckgabe.replace(/\s/g, "");
              }
              catch(err) {
                  if (logging) log('entferneDatenpunkt - rueckgabe4:' + rueckgabe + ' error:' + err);
              }
              finally {
                  if (logging) log('entferneDatenpunkt - rueckgabe4:' + rueckgabe);
              }
              

              ! return rueckgabe;
              }
              ! function checkBlacklist(name) {

              var _name = "";
              
              if (blacklist.length > 0) {
              

              ! for(var i = 0; i < blacklist.length; i++) {

                      if (name.indexOf(blacklist[i]) != -1) {
              

              ! // Zeichenketten, die in der Blacklist stehen, aus dem Namen löschen
              _name = name.substring(0, name.indexOf(blacklist[i]));
              }
              }
              ! if(_name === "") {
              return name;
              } else {
              return _name;
              }

              } else return (name);
              

              }

              ! function schreibeZaehlerstand(geraet, zeitraum) {

              var idKumuliert =    instanz + pfad + geraet + '.Zaehlerstand.kumuliert',
                  idZaehlerstand = instanz + pfad + geraet + '.Zaehlerstand.' + zeitraum;
              
              // Zählerstand für übergebene Zeitraum und das Gerät in Wh auslesen und in kWh speichern (also durch 1000)
              setState(idZaehlerstand, parseFloat( (getState(idKumuliert).val / 1000).toFixed(AnzahlKommastellenZaehlerstand)) );  
              

              ! if (logging) log('Zählerstände für das Gerät ' + geraet + ' (' + zeitraum + ') in Objekten gespeichert');
              }
              ! function rotateVerbrauchUndKosten(geraet, zeitraum, anzahl) {
              ! // Verbrauch
              if(anzahl > 0) {

                  for(var i = anzahl; i >= 0; i--) {
              
                      var j = i;
              
                      j++;
              
                      if(getObject(instanz + pfad + geraet + '.Verbrauch._' + zeitraum + '.' + zeitraum + '_' + j)) {
              
                          if(i === 0)
                              setState(instanz + pfad + geraet + '.Verbrauch._' + zeitraum + '.' + zeitraum + '_' + j, getState(instanz + pfad + geraet + '.Verbrauch.' + zeitraum).val);
                          else
                              setState(instanz + pfad + geraet + '.Verbrauch._' + zeitraum + '.' + zeitraum + '_' + j, getState(instanz + pfad + geraet + '.Verbrauch._' + zeitraum + '.' + zeitraum + '_' + i).val);
                      }
                  }
              }
              
              // Kosten
              if(anzahl > 0) {
              
                  for(var i = anzahl; i >= 0; i--) {
              
                      var j = i;
              
                      j++;
              
                      if(getObject(instanz + pfad + geraet + '.Kosten._' + zeitraum + '.' + zeitraum + '_' + j)) {
              
                          if(i === 0)
                              setState(instanz + pfad + geraet + '.Kosten._' + zeitraum + '.' + zeitraum + '_' + j, getState(instanz + pfad + geraet + '.Kosten.' + zeitraum).val);
                          else
                              setState(instanz + pfad + geraet + '.Kosten._' + zeitraum + '.' + zeitraum + '_' + j, getState(instanz + pfad + geraet + '.Kosten._' + zeitraum + '.' + zeitraum + '_' + i).val);
                      }
                  }
              }
              

              }

              ! function resetVerbrauchUndKosten(geraet, zeitraum) {

              // Reset der Stromkosten für den übergebenen Zeitraum
              // Reset des Stromverbrauchs für den übergebenen Zeitraum 
              setState(instanz + pfad + geraet + '.Kosten.' + zeitraum, 0);     
              setState(instanz + pfad + geraet + '.Verbrauch.' + zeitraum, 0);
              
              if (logging) log('Stromkosten und Stromverbrauch für das Gerät ' + geraet + ' (' + zeitraum + ') zurückgesetzt');
              

              }

              ! function berechneVerbrauchUndKosten(geraet, zaehler, preis) {

              // bei jedem eingehenden Wert pro Gerät
              
              // Tag [Verbrauchskosten = (Zähler_ist - Zähler_Tagesbeginn) * Preis ] --- zaehler muss immer größer sein als Tages, Wochen, etc.-Wert
              setState(instanz + pfad + geraet + '.Verbrauch.Tag',     parseFloat(  (zaehler - getState(instanz + pfad + geraet + '.Zaehlerstand.Tag').val).toFixed(AnzahlKommastellenVerbrauch) ) );           // Verbrauch an diesem Tag in kWh
              setState(instanz + pfad + geraet + '.Kosten.Tag',        parseFloat( ((zaehler - getState(instanz + pfad + geraet + '.Zaehlerstand.Tag').val) * preis).toFixed(AnzahlKommastellenKosten) ) );  // Kosten an diesem Tag in €
              
              // Woche    
              setState(instanz + pfad + geraet + '.Verbrauch.Woche',   parseFloat(  (zaehler - getState(instanz + pfad + geraet + '.Zaehlerstand.Woche').val).toFixed(AnzahlKommastellenVerbrauch) ) );
              setState(instanz + pfad + geraet + '.Kosten.Woche',      parseFloat( ((zaehler - getState(instanz + pfad + geraet + '.Zaehlerstand.Woche').val) * preis).toFixed(AnzahlKommastellenKosten) ) );
              
              // Monat    
              setState(instanz + pfad + geraet + '.Verbrauch.Monat',   parseFloat(  (zaehler - getState(instanz + pfad + geraet + '.Zaehlerstand.Monat').val).toFixed(AnzahlKommastellenVerbrauch) ) );
              setState(instanz + pfad + geraet + '.Kosten.Monat',      parseFloat( ((zaehler - getState(instanz + pfad + geraet + '.Zaehlerstand.Monat').val) * preis).toFixed(AnzahlKommastellenKosten) ) );
              
              // Quartal    
              setState(instanz + pfad + geraet + '.Verbrauch.Quartal', parseFloat(  (zaehler - getState(instanz + pfad + geraet + '.Zaehlerstand.Quartal').val).toFixed(AnzahlKommastellenVerbrauch) ) );
              setState(instanz + pfad + geraet + '.Kosten.Quartal',    parseFloat( ((zaehler - getState(instanz + pfad + geraet + '.Zaehlerstand.Quartal').val) * preis).toFixed(AnzahlKommastellenKosten) ) );
              
              // Jahr    
              setState(instanz + pfad + geraet + '.Verbrauch.Jahr',    parseFloat(  (zaehler - getState(instanz + pfad + geraet + '.Zaehlerstand.Jahr').val).toFixed(AnzahlKommastellenVerbrauch) ) );
              setState(instanz + pfad + geraet + '.Kosten.Jahr',       parseFloat( ((zaehler - getState(instanz + pfad + geraet + '.Zaehlerstand.Jahr').val) * preis).toFixed(AnzahlKommastellenKosten) ) );  
              
              if (logging) log('Stromverbrauch und -kosten (' + geraet + ') aktualisiert');
              

              }

              ! function erstelleStates (geraet) {

              // Kumulierter Zählerstand (wird nie kleiner)
              createState(pfad + geraet + '.Zaehlerstand.kumuliert', 0, {name: 'Kumulierter Zählerstand (' + geraet + ')', type: 'number', unit:'Wh'});
              
              // Zählerstand
              createState(pfad + geraet + '.Zaehlerstand.Tag',     0, {name: 'Zählerstand Tagesbeginn ('       + geraet + ')', type: 'number', unit:'kWh'});
              createState(pfad + geraet + '.Zaehlerstand.Woche',   0, {name: 'Zählerstand Wochenbeginn ('      + geraet + ')', type: 'number', unit:'kWh'});
              createState(pfad + geraet + '.Zaehlerstand.Monat',   0, {name: 'Zählerstand Monatsbeginn ('      + geraet + ')', type: 'number', unit:'kWh'});
              createState(pfad + geraet + '.Zaehlerstand.Quartal', 0, {name: 'Zählerstand Quartalsbeginn ('    + geraet + ')', type: 'number', unit:'kWh'});
              createState(pfad + geraet + '.Zaehlerstand.Jahr',    0, {name: 'Zählerstand Jahresbeginn ('      + geraet + ')', type: 'number', unit:'kWh'});
              
              // Verbrauch 
              createState(pfad + geraet + '.Verbrauch.Tag',        0, {name: 'Verbrauch seit Tagesbeginn ('    + geraet + ')', type: 'number', unit:'kWh'});
              createState(pfad + geraet + '.Verbrauch.Woche',      0, {name: 'Verbrauch seit Wochenbeginn ('   + geraet + ')', type: 'number', unit:'kWh'});
              createState(pfad + geraet + '.Verbrauch.Monat',      0, {name: 'Verbrauch seit Monatsbeginn ('   + geraet + ')', type: 'number', unit:'kWh'});
              createState(pfad + geraet + '.Verbrauch.Quartal',    0, {name: 'Verbrauch seit Quartalsbeginn (' + geraet + ')', type: 'number', unit:'kWh'});
              createState(pfad + geraet + '.Verbrauch.Jahr',       0, {name: 'Verbrauch seit Jahresbeginn ('   + geraet + ')', type: 'number', unit:'kWh'});
              
              // Stromkosten
              createState(pfad + geraet + '.Kosten.Tag',           0, {name: 'Stromkosten heute ('             + geraet + ')', type: 'number', unit:'€'  });
              createState(pfad + geraet + '.Kosten.Woche',         0, {name: 'Stromkosten Woche ('             + geraet + ')', type: 'number', unit:'€'  });
              createState(pfad + geraet + '.Kosten.Monat',         0, {name: 'Stromkosten Monat ('             + geraet + ')', type: 'number', unit:'€'  });
              createState(pfad + geraet + '.Kosten.Quartal',       0, {name: 'Stromkosten Quartal ('           + geraet + ')', type: 'number', unit:'€'  });
              createState(pfad + geraet + '.Kosten.Jahr',          0, {name: 'Stromkosten Jahr ('              + geraet + ')', type: 'number', unit:'€'  });
              
              // Speichern der Werte in zusätzlichen Variablen
              if(Tag_Anzahl_Werte_in_der_Vergangenheit > 0) {
              
                  for(var i = 1; i <= Tag_Anzahl_Werte_in_der_Vergangenheit; i++) {
                      createState(pfad + geraet + '.Verbrauch._Tag.Tag_' + i,             0, {name: 'Verbrauch vor ' + i + ' Tag(en) ('    + geraet + ')', type: 'number', unit:'kWh'});
                      createState(pfad + geraet + '.Kosten._Tag.Tag_' + i,                0, {name: 'Stromkosten vor ' + i + ' Tag(en) ('  + geraet + ')', type: 'number', unit:'€'  });
                  }
              }
              
              if(Woche_Anzahl_Werte_in_der_Vergangenheit > 0) {
              
                  for(var i = 1; i <= Woche_Anzahl_Werte_in_der_Vergangenheit; i++) {
                      createState(pfad + geraet + '.Verbrauch._Woche.Woche_' + i,         0, {name: 'Verbrauch vor ' + i + ' Woche(n) ('    + geraet + ')', type: 'number', unit:'kWh'});
                      createState(pfad + geraet + '.Kosten._Woche.Woche_' + i,            0, {name: 'Stromkosten vor ' + i + ' Woche(n) ('  + geraet + ')', type: 'number', unit:'€'  });
                  }
              }
              
              if(Monat_Anzahl_Werte_in_der_Vergangenheit > 0) {
              

              ! for(var i = 1; i <= Monat_Anzahl_Werte_in_der_Vergangenheit; i++) {
              createState(pfad + geraet + '.Verbrauch.Monat.Monat' + i, 0, {name: 'Verbrauch vor ' + i + ' Monat(en) (' + geraet + ')', type: 'number', unit:'kWh'});
              createState(pfad + geraet + '.Kosten.Monat.Monat' + i, 0, {name: 'Stromkosten vor ' + i + ' Monat(en) (' + geraet + ')', type: 'number', unit:'€' });
              }
              }

              if(Quartal_Anzahl_Werte_in_der_Vergangenheit > 0) {
              
                  for(var i = 1; i <= Quartal_Anzahl_Werte_in_der_Vergangenheit; i++) {
                      createState(pfad + geraet + '.Verbrauch._Quartal.Quartal_' + i,     0, {name: 'Verbrauch vor ' + i + ' Quartal(en) ('    + geraet + ')', type: 'number', unit:'kWh'});
                      createState(pfad + geraet + '.Kosten._Quartal.Quartal_' + i,        0, {name: 'Stromkosten vor ' + i + ' Quartal(en) ('  + geraet + ')', type: 'number', unit:'€'  });
                  }
              }
              
              if(Jahr_Anzahl_Werte_in_der_Vergangenheit > 0) {
              

              ! for(var i = 1; i <= Jahr_Anzahl_Werte_in_der_Vergangenheit; i++) {
              createState(pfad + geraet + '.Verbrauch.Jahr.Jahr' + i, 0, {name: 'Verbrauch vor ' + i + ' Jahr(en) (' + geraet + ')', type: 'number', unit:'kWh'});
              createState(pfad + geraet + '.Kosten.Jahr.Jahr' + i, 0, {name: 'Stromkosten vor ' + i + ' Jahr(en) (' + geraet + ')', type: 'number', unit:'€' });
              }
              }

              // Tages-, Wochen-, Monats-, Quartal-, Jahreswechsel erkennen
              createState(pfad + geraet + '.config.Tag',      false, { read: true, write: true, type: "boolean", def: false });
              createState(pfad + geraet + '.config.Woche',    false, { read: true, write: true, type: "boolean", def: false });
              createState(pfad + geraet + '.config.Monat',    false, { read: true, write: true, type: "boolean", def: false });
              createState(pfad + geraet + '.config.Quartal',  false, { read: true, write: true, type: "boolean", def: false });
              createState(pfad + geraet + '.config.Jahr',     false, { read: true, write: true, type: "boolean", def: false });
              

              ! // Neustart von CCU oder Gerät erkannt
              createState(pfad + geraet + '.config.NeustartErkanntAlterWert', 0);

              // Gerät hat eigenen Strompreis
              if(enable_unterschiedlichePreise) {
                  createState(pfad + geraet + '.eigenerPreis.aktuell.Arbeitspreis'            , { name: 'Strompreis - aktueller Arbeitspreis ab Datum (brutto)' ,     unit: '€/kWh',      type: 'number', def: 0 });
                  createState(pfad + geraet + '.eigenerPreis.aktuell.Grundpreis'              , { name: 'Strompreis - aktueller Grundpreis ab Datum (brutto)'   ,     unit: '€/Monat',    type: 'number', def: 0 });
                  createState(pfad + geraet + '.eigenerPreis.neu.Arbeitspreis'                , { name: 'Strompreis - neuer Arbeitspreis ab Datum (brutto)' ,         unit: '€/kWh',      type: 'number', def: 0 });
                  createState(pfad + geraet + '.eigenerPreis.neu.Grundpreis'                  , { name: 'Strompreis - neuer Grundpreis ab Datum (brutto)'   ,         unit: '€/Monat',    type: 'number', def: 0 });
                  createState(pfad + geraet + '.eigenerPreis.neu.Datum'                       , { name: 'Strompreis und Grundpreis ab folgendem Datum zur Berechnung heranziehen (Beispiel 01.01.2019)', def: "01.01.1970", type: 'string' });
              
                  createState(pfad + geraet + '.eigenerPreis.neu.PreisaenderungDurchgefuehrt' ,     false, { read: true, write: true, type: "boolean", def: false });
              }
              
              // history bei allen Datenpunkten aktivieren
              if(enable_history) {
                  enableHistory(geraet, 'Tag');
                  enableHistory(geraet, 'Woche');
                  enableHistory(geraet, 'Monat');
                  enableHistory(geraet, 'Quartal');
                  enableHistory(geraet, 'Jahr');
              }
              

              ! if (logging) log('States in der Instanz ' + instanz + pfad + ' erstellt');
              }
              ! function enableHistory(geraet, zeitraum) {
              ! if(instance_history !== '') {

                  sendTo(instance_history, 'enableHistory', {
                      id: instanz + pfad + geraet + '.Kosten.' + zeitraum,
                      options: {
                          changesOnly:  true,
                          debounce:     0,
                          retention:    31536000,
                          maxLength:    3,
                          changesMinDelta: 0.5
                      }
                  }, function (result) {
                      if (result.error) {
                          if (logging) log("Fehler beim Aktivieren von History: " + result.error);
                      }
                  });
              
                  sendTo(instance_history, 'enableHistory', {
                      id: instanz + pfad + geraet + '.Verbrauch.' + zeitraum,
                      options: {
                          changesOnly:  true,
                          debounce:     0,
                          retention:    31536000,
                          maxLength:    3,
                          changesMinDelta: 0.5
                      }
                  }, function (result) {
                      if (result.error) {
                          if (logging) log("Fehler beim Aktivieren von History: " + result.error);
                      }
                  });
              
                  sendTo(instance_history, 'enableHistory', {
                      id: instanz + pfad + geraet + '.Zaehlerstand.' + zeitraum,
                      options: {
                          changesOnly:  true,
                          debounce:     0,
                          retention:    31536000,
                          maxLength:    3,
                          changesMinDelta: 0.5
                      }
                  }, function (result) {
                      if (result.error) {
                          if (logging) log("Fehler beim Aktivieren von History: " + result.error);
                      }
                  });
              }
              

              }

              ! function pruefePreisaenderung(geraet) {

              var _Datum = "";
              var _PreisaenderungDurchgefuehrt = "";
              var _Arbeitspreis = "";
              var _Grundpreis = "";
              var _ArbeitspreisNeu = "";
              var _GrundpreisNeu = "";
              
              if(typeof geraet === "undefined") {
              
                   // Default Arbeitspreis ändern
              

              ! _Datum = instanz + pfad + 'Preis.neu.Datum';
              _PreisaenderungDurchgefuehrt = instanz + pfad + 'Preis.neu.PreisaenderungDurchgefuehrt';

                  _Arbeitspreis       = instanz + pfad + 'Preis.aktuell.Arbeitspreis';
                  _Grundpreis         = instanz + pfad + 'Preis.aktuell.Grundpreis';
                  _ArbeitspreisNeu    = instanz + pfad + 'Preis.neu.Arbeitspreis';
                  _GrundpreisNeu      = instanz + pfad + 'Preis.neu.Grundpreis';
              
              } else {
              

              ! // Arbeitspreis für Gerät ändern

                  _Datum                          = instanz + pfad + geraet + '.eigenerPreis.neu.Datum';
                  _PreisaenderungDurchgefuehrt    = instanz + pfad + geraet + '.eigenerPreis.neu.PreisaenderungDurchgefuehrt';
              
                  _Arbeitspreis       = instanz + pfad + geraet + '.eigenerPreis.aktuell.Arbeitspreis';
                  _Grundpreis         = instanz + pfad + geraet + '.eigenerPreis.aktuell.Grundpreis';
                  _ArbeitspreisNeu    = instanz + pfad + geraet + '.eigenerPreis.neu.Arbeitspreis';
                  _GrundpreisNeu      = instanz + pfad + geraet + '.eigenerPreis.neu.Grundpreis';
              }
              

              ! if(getObject(_Datum)) {

                  var date = getState(_Datum).val;
              
                  var Datum_Tag;
                  var Datum_Monat;
                  var Datum_Jahr;
              

              ! try {
              var Datum = date.match(/\d{2}(.|-)\d{2}(.|-)\d{4}/g).toString();

                      Datum_Tag = Datum.split(".")[0];
                      Datum_Monat = Datum.split(".")[1];
                      Datum_Jahr = Datum.split(".")[2];
              
                  } catch (err) {
                      console.log("Fehler beim Auslesen des Datums. Eventuell falsche Syntax? " + date + " (Error:" + err + ")");
                  }
              
                  newdate = new Date(Datum_Monat + " " + Datum_Tag + " " + Datum_Jahr);
              

              ! var today = new Date();
              today.setHours(0,0,0,0);
              ! if(today.getTime() === newdate.getTime()) {

                      if(!getState(_PreisaenderungDurchgefuehrt).val) {
              

              ! setState(_PreisaenderungDurchgefuehrt, true);

                          var alterArbeitspreis = getState(_Arbeitspreis).val;
                          var alterGrundpreis = getState(_Grundpreis).val;
              
                          var neuerArbeitspreis = getState(_ArbeitspreisNeu).val;
                          var neuerGrundpreis = getState(_GrundpreisNeu).val;
              
                          setState(_Arbeitspreis, neuerArbeitspreis);
                          setState(_Grundpreis, neuerGrundpreis);
              
                          var message =  'Preisänderung für ' + geraet + ' wurde durchgeführt:' + '\n'
                                      + 'alter Arbeitspreis:' + alterArbeitspreis + '.\n'
                                      + 'alter Grundpeis:' + alterGrundpreis + '.\n'
                                      + 'neuer Arbeitspreis:' + neuerArbeitspreis + '.\n'
                                      + 'neuer Grundpreis:' + neuerGrundpreis;
              
                          send_message(message);
                      }
              
                  } else if(today.getTime() > newdate.getTime()) {
              

              ! // Variable zurücksetzen
              setState(_PreisaenderungDurchgefuehrt, false);
              }
              }
              }
              ! //----------------------------------------------------------------------------//`
              ! Denke mal, dering wird das noch verfeinern und weiter unten im Script diese abfrage von true und false des Tageswechsels wieder ausbauen, damit es nicht mehr so viel Code ist. Mir war mit der Änderung nur wichtig, dass das Script nachts pünktlich die Daten rüber schreibt, auch wenn kein neuer Zählerstand gemeldet wird, da bei mir eben nicht alle Steckdosen jeden Tag in Betrieb sind.
              ! Das Skript ändert doch schon Wh in kWh. Die Daten der Steckdosen und Schalter werden in Wh ausgelesen. Das Script rechnet die aber um in kWh und setzt diese dann in die Datenpunkte ein.[/i][/i][/i][/i][/i][/i][/i]

              1 Reply Last reply Reply Quote 0
              • D
                dering last edited by

                Version 1.2.0 ist nun online:

                https://github.com/hdering/homematic_st … okollieren

                1.2.0 (2018-03-22)

                (hdering) Eigene Datenpunkte haben ihre eigene Einheit

                (hdering) Tages-, Wochen-, Monats-.... werden jetzt immer um 0 Uhr durchgeführt und nicht erst, wenn ein neuer Wert vom Zähler reinkommt.

                (hdering) Wenn kein Arbeitspreis angegeben wird, wird der Zählerstand trotzdem gespeichert. Es wird eine Warnung ins Log geschrieben.

                1 Reply Last reply Reply Quote 0
                • M
                  Mac last edited by

                  @ Kampfratte.

                  Danke für Deine bearbeitete Fassung, heute ist die neue Version von dering 1.2. online, ich werde beide mal testen. Vielen Fank an Beide Autoren.

                  @msr: Vor der gleichen Situation wie Du stand ich auch vor einem halbem Jahr, ich habe auch eine KNX Installation. Open Source ist eine tolle Sache, aber als Anfänger finde ich es schwer sich in die Denkweise eines solchen Systems einzudenken. Die Unterschiede der Nutzer sind eben sehr groß und die meisten sind eben auch kleine Profiprogrammierer, so dass man nie sicher ist - liegt der Feghler bei mir - oder im Script. Es ist aber eine großartige Sache wie die Gemeinschaft sich gegenseitig hilft und dann meistens jemand doch noch einen Tip hat, wenn man meint es geht nichts mehr …

                  Deshalb hatte ich versucht einen Anfängerblock aufzumachen unter Scripte- Monitoring Haustechnik für Dummies. Aber nach einer Weile verschwinden die Blocks natürlich in der Versenkung, wenn sie nicht genutzt werden. Mir hat damals Dutchman sehr geholfen, daraufhin habe ich meine Erkenntnisse in einer kleinen Blockly Erst-Anleitung zusammengefasst, die hänge ich Dir noch mal an, vielleicht hilft es Dir ja.

                  Das Script was dering hier erstellt hat erfüllt eigentlich genau das was Du suchst, wenn es jetzt funktioniert, kann ich es nur empfehlen. Aber Erfahrungen mit Blockly zu machen hat mir sehr geholfen mich langsam immer besser - zumindest - im Java zu orientieren.

                  Beste Grüße

                  Mac
                  4489_erstes_skript_mit_blockly.docx.pdf

                  1 Reply Last reply Reply Quote 0
                  • M
                    msr last edited by

                    Hallo Mac,

                    Super. Vielen Dank für deine Hilfe und viele Grüße, msr

                    1 Reply Last reply Reply Quote 0
                    • M
                      Mac last edited by

                      Sehr gern, schön wenn man auch mal was geben kann.

                      1 Reply Last reply Reply Quote 0
                      • M
                        Mac last edited by

                        @kampfratte

                        Deine Scriptbearbeitung habe ich jetzt einen Tag laufen. Der Tageswechsel hat wohl auch gut geklappt, aber die Werte sind mir nicht vertändlich. In den Tag wurde nichts hineingeschrieben. Auch der heutige Tagesumsatz von 1 kWh stimmt nicht, es sind aktuell 5 kWh hast Du eine Idee was noch schiefgelaufen sein könnte?

                        4489_bildschirmfoto_2018-03-23_um_12.01.15.png

                        4489_bildschirmfoto_2018-03-23_um_12.07.06.png

                        ! javascript.0 2018-03-23 12:49:14.167 info script.js.common.Messscripte.Jshint: –---------- ENDE ------------
                        ! javascript.0 2018-03-23 12:49:14.166 info script.js.common.Messscripte.Jshint: Stromverbrauch und -kosten (Gesamtstrom_VK) aktualisiert
                        ! javascript.0 2018-03-23 12:49:14.160 info script.js.common.Messscripte.Jshint: States in der Instanz javascript.0.Strom. erstellt
                        ! javascript.0 2018-03-23 12:49:14.148 info script.js.common.Messscripte.Jshint: Nach der Aufbereitung: Gesamtstrom_VK
                        ! javascript.0 2018-03-23 12:49:14.148 info script.js.common.Messscripte.Jshint: Es wird der Aliasname gesetzt:Gesamtstrom_VK
                        ! javascript.0 2018-03-23 12:49:14.147 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe4:HauptstromVKinWh:value
                        ! javascript.0 2018-03-23 12:49:14.146 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe3:Hauptstrom VK in Wh: value
                        ! javascript.0 2018-03-23 12:49:14.146 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe2:Hauptstrom VK in Wh: value
                        ! javascript.0 2018-03-23 12:49:14.146 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe1:Hauptstrom VK in Wh: value
                        ! javascript.0 2018-03-23 12:49:14.145 info script.js.common.Messscripte.Jshint: vor der Aufbereitung: Hauptstrom VK in Wh: value
                        ! javascript.0 2018-03-23 12:49:14.144 info script.js.common.Messscripte.Jshint: Einheit: undefined
                        ! javascript.0 2018-03-23 12:49:14.144 info script.js.common.Messscripte.Jshint: alter Wert: 14948000
                        ! javascript.0 2018-03-23 12:49:14.144 info script.js.common.Messscripte.Jshint: neuer Wert: 14949000
                        ! javascript.0 2018-03-23 12:49:14.144 info script.js.common.Messscripte.Jshint: device name: null
                        ! javascript.0 2018-03-23 12:49:14.143 info script.js.common.Messscripte.Jshint: device ID: null
                        ! javascript.0 2018-03-23 12:49:14.143 info script.js.common.Messscripte.Jshint: channel Name: Hauptstrom VK in Wh
                        ! javascript.0 2018-03-23 12:49:14.143 info script.js.common.Messscripte.Jshint: channel ID: loxone.0.114e32f2-02de-2a66-ffff403fb0c34b9e
                        ! javascript.0 2018-03-23 12:49:14.143 info script.js.common.Messscripte.Jshint: Name: Hauptstrom VK in Wh: value
                        ! javascript.0 2018-03-23 12:49:14.143 info script.js.common.Messscripte.Jshint: id: loxone.0.114e32f2-02de-2a66-ffff403fb0c34b9e.value
                        ! javascript.0 2018-03-23 12:49:14.142 info script.js.common.Messscripte.Jshint: Beschreibung: undefined
                        ! javascript.0 2018-03-23 12:49:14.142 info script.js.common.Messscripte.Jshint: Gewerk: undefined
                        ! javascript.0 2018-03-23 12:49:14.142 info script.js.common.Messscripte.Jshint: RegExp-Funktion ausgelöst
                        ! javascript.0 2018-03-23 12:49:14.142 info script.js.common.Messscripte.Jshint: -------- Strommesser ---------
                        ! javascript.0 2018-03-23 12:49:14.141 info script.js.common.Messscripte.Stromzaehler: ------------ ENDE ------------
                        ! javascript.0 2018-03-23 12:49:14.141 info script.js.common.Messscripte.Stromzaehler: Stromverbrauch und -kosten (Gesamtstrom_VK) aktualisiert
                        ! javascript.0 2018-03-23 12:49:14.128 info script.js.common.Messscripte.Stromzaehler: States in der Instanz javascript.0.Strom. erstellt
                        ! javascript.0 2018-03-23 12:49:14.075 info script.js.common.Messscripte.Stromzaehler: Nach der Aufbereitung: Gesamtstrom_VK
                        ! javascript.0 2018-03-23 12:49:14.075 info script.js.common.Messscripte.Stromzaehler: Es wird der Aliasname gesetzt:Gesamtstrom_VK
                        ! javascript.0 2018-03-23 12:49:14.074 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe4:HauptstromVKinWh:value
                        ! javascript.0 2018-03-23 12:49:14.074 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe3:Hauptstrom VK in Wh: value
                        ! javascript.0 2018-03-23 12:49:14.073 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe2:Hauptstrom VK in Wh: value
                        ! javascript.0 2018-03-23 12:49:14.073 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe1:Hauptstrom VK in Wh: value
                        ! javascript.0 2018-03-23 12:49:14.072 info script.js.common.Messscripte.Stromzaehler: vor der Aufbereitung: Hauptstrom VK in Wh: value
                        ! javascript.0 2018-03-23 12:49:14.072 info script.js.common.Messscripte.Stromzaehler: Einheit: undefined
                        ! javascript.0 2018-03-23 12:49:14.071 info script.js.common.Messscripte.Stromzaehler: alter Wert: 14948000
                        ! javascript.0 2018-03-23 12:49:14.070 info script.js.common.Messscripte.Stromzaehler: neuer Wert: 14949000
                        ! javascript.0 2018-03-23 12:49:14.059 info script.js.common.Messscripte.Stromzaehler: device name: null
                        ! javascript.0 2018-03-23 12:49:14.059 info script.js.common.Messscripte.Stromzaehler: device ID: null
                        ! javascript.0 2018-03-23 12:49:14.058 info script.js.common.Messscripte.Stromzaehler: channel Name: Hauptstrom VK in Wh
                        ! javascript.0 2018-03-23 12:49:14.057 info script.js.common.Messscripte.Stromzaehler: channel ID: loxone.0.114e32f2-02de-2a66-ffff403fb0c34b9e
                        ! javascript.0 2018-03-23 12:49:14.057 info script.js.common.Messscripte.Stromzaehler: Name: Hauptstrom VK in Wh: value
                        ! javascript.0 2018-03-23 12:49:14.056 info script.js.common.Messscripte.Stromzaehler: id: loxone.0.114e32f2-02de-2a66-ffff403fb0c34b9e.value
                        ! javascript.0 2018-03-23 12:49:14.055 info script.js.common.Messscripte.Stromzaehler: Beschreibung: undefined
                        ! javascript.0 2018-03-23 12:49:14.054 info script.js.common.Messscripte.Stromzaehler: Gewerk: undefined
                        ! javascript.0 2018-03-23 12:49:14.053 info script.js.common.Messscripte.Stromzaehler: RegExp-Funktion ausgelöst
                        ! javascript.0 2018-03-23 12:49:14.052 info script.js.common.Messscripte.Stromzaehler: -------- Strommesser ---------
                        ! javascript.0 2018-03-23 12:47:27.550 info script.js.common.Messscripte.Jshint: ------------ ENDE ------------
                        ! javascript.0 2018-03-23 12:47:27.549 info script.js.common.Messscripte.Jshint: Stromverbrauch und -kosten (Zaehler_PV) aktualisiert
                        ! javascript.0 2018-03-23 12:47:27.532 info script.js.common.Messscripte.Jshint: States in der Instanz javascript.0.Strom. erstellt
                        ! javascript.0 2018-03-23 12:47:27.514 info script.js.common.Messscripte.Jshint: Nach der Aufbereitung: Zaehler_PV
                        ! javascript.0 2018-03-23 12:47:27.514 info script.js.common.Messscripte.Jshint: Es wird der Aliasname gesetzt:Zaehler_PV
                        ! javascript.0 2018-03-23 12:47:27.513 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe4:PVZählerinWh:value
                        ! javascript.0 2018-03-23 12:47:27.512 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe3:PV Zähler in Wh: value
                        ! javascript.0 2018-03-23 12:47:27.512 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe2:PV Zähler in Wh: value
                        ! javascript.0 2018-03-23 12:47:27.511 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe1:PV Zähler in Wh: value
                        ! javascript.0 2018-03-23 12:47:27.509 info script.js.common.Messscripte.Jshint: vor der Aufbereitung: PV Zähler in Wh: value
                        ! javascript.0 2018-03-23 12:47:27.509 info script.js.common.Messscripte.Jshint: Einheit: undefined
                        ! javascript.0 2018-03-23 12:47:27.508 info script.js.common.Messscripte.Jshint: alter Wert: 10867000
                        ! javascript.0 2018-03-23 12:47:27.508 info script.js.common.Messscripte.Jshint: neuer Wert: 10868000
                        ! javascript.0 2018-03-23 12:47:27.508 info script.js.common.Messscripte.Jshint: device name: null
                        ! javascript.0 2018-03-23 12:47:27.508 info script.js.common.Messscripte.Jshint: device ID: null
                        ! javascript.0 2018-03-23 12:47:27.507 info script.js.common.Messscripte.Jshint: channel Name: PV Zähler in Wh
                        ! javascript.0 2018-03-23 12:47:27.507 info script.js.common.Messscripte.Jshint: channel ID: loxone.0.114edcd5-02a6-75f1-ffff403fb0c34b9e
                        ! javascript.0 2018-03-23 12:47:27.507 info script.js.common.Messscripte.Jshint: Name: PV Zähler in Wh: value
                        ! javascript.0 2018-03-23 12:47:27.507 info script.js.common.Messscripte.Jshint: id: loxone.0.114edcd5-02a6-75f1-ffff403fb0c34b9e.value
                        ! javascript.0 2018-03-23 12:47:27.506 info script.js.common.Messscripte.Jshint: Beschreibung: undefined
                        ! javascript.0 2018-03-23 12:47:27.506 info script.js.common.Messscripte.Jshint: Gewerk: undefined
                        ! javascript.0 2018-03-23 12:47:27.505 info script.js.common.Messscripte.Jshint: RegExp-Funktion ausgelöst
                        ! javascript.0 2018-03-23 12:47:27.505 info script.js.common.Messscripte.Jshint: -------- Strommesser ---------
                        ! javascript.0 2018-03-23 12:47:27.498 info script.js.common.Messscripte.Stromzaehler: ------------ ENDE ------------
                        ! javascript.0 2018-03-23 12:47:27.498 info script.js.common.Messscripte.Stromzaehler: Stromverbrauch und -kosten (Zaehler_PV) aktualisiert
                        ! javascript.0 2018-03-23 12:47:27.492 info script.js.common.Messscripte.Stromzaehler: States in der Instanz javascript.0.Strom. erstellt
                        ! javascript.0 2018-03-23 12:47:27.483 info script.js.common.Messscripte.Stromzaehler: Nach der Aufbereitung: Zaehler_PV
                        ! javascript.0 2018-03-23 12:47:27.483 info script.js.common.Messscripte.Stromzaehler: Es wird der Aliasname gesetzt:Zaehler_PV
                        ! javascript.0 2018-03-23 12:47:27.483 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe4:PVZählerinWh:value
                        ! javascript.0 2018-03-23 12:47:27.482 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe3:PV Zähler in Wh: value
                        ! javascript.0 2018-03-23 12:47:27.482 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe2:PV Zähler in Wh: value
                        ! javascript.0 2018-03-23 12:47:27.482 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe1:PV Zähler in Wh: value
                        ! javascript.0 2018-03-23 12:47:27.482 info script.js.common.Messscripte.Stromzaehler: vor der Aufbereitung: PV Zähler in Wh: value
                        ! javascript.0 2018-03-23 12:47:27.481 info script.js.common.Messscripte.Stromzaehler: Einheit: undefined
                        ! javascript.0 2018-03-23 12:47:27.481 info script.js.common.Messscripte.Stromzaehler: alter Wert: 10867000
                        ! javascript.0 2018-03-23 12:47:27.481 info script.js.common.Messscripte.Stromzaehler: neuer Wert: 10868000
                        ! javascript.0 2018-03-23 12:47:27.480 info script.js.common.Messscripte.Stromzaehler: device name: null
                        ! javascript.0 2018-03-23 12:47:27.479 info script.js.common.Messscripte.Stromzaehler: device ID: null
                        ! javascript.0 2018-03-23 12:47:27.478 info script.js.common.Messscripte.Stromzaehler: channel Name: PV Zähler in Wh
                        ! javascript.0 2018-03-23 12:47:27.477 info script.js.common.Messscripte.Stromzaehler: channel ID: loxone.0.114edcd5-02a6-75f1-ffff403fb0c34b9e
                        ! javascript.0 2018-03-23 12:47:27.476 info script.js.common.Messscripte.Stromzaehler: Name: PV Zähler in Wh: value
                        ! javascript.0 2018-03-23 12:47:27.475 info script.js.common.Messscripte.Stromzaehler: id: loxone.0.114edcd5-02a6-75f1-ffff403fb0c34b9e.value
                        ! javascript.0 2018-03-23 12:47:27.474 info script.js.common.Messscripte.Stromzaehler: Beschreibung: undefined
                        ! javascript.0 2018-03-23 12:47:27.473 info script.js.common.Messscripte.Stromzaehler: Gewerk: undefined
                        ! javascript.0 2018-03-23 12:47:27.471 info script.js.common.Messscripte.Stromzaehler: RegExp-Funktion ausgelöst
                        ! javascript.0 2018-03-23 12:47:27.470 info script.js.common.Messscripte.Stromzaehler: -------- Strommesser ---------

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

                          @Mac:

                          @kampfratte

                          Deine Scriptbearbeitung habe ich jetzt einen Tag laufen. Der Tageswechsel hat wohl auch gut geklappt, aber die Werte sind mir nicht vertändlich. In den Tag wurde nichts hineingeschrieben. Auch der heutige Tagesumsatz von 1 kWh stimmt nicht, es sind aktuell 5 kWh hast Du eine Idee was noch schiefgelaufen sein könnte?

                          Bildschirmfoto 2018-03-23 um 12.01.15.png

                          Bildschirmfoto 2018-03-23 um 12.07.06.png

                          ! javascript.0 2018-03-23 12:49:14.167 info script.js.common.Messscripte.Jshint: –---------- ENDE ------------
                          ! javascript.0 2018-03-23 12:49:14.166 info script.js.common.Messscripte.Jshint: Stromverbrauch und -kosten (Gesamtstrom_VK) aktualisiert
                          ! javascript.0 2018-03-23 12:49:14.160 info script.js.common.Messscripte.Jshint: States in der Instanz javascript.0.Strom. erstellt
                          ! javascript.0 2018-03-23 12:49:14.148 info script.js.common.Messscripte.Jshint: Nach der Aufbereitung: Gesamtstrom_VK
                          ! javascript.0 2018-03-23 12:49:14.148 info script.js.common.Messscripte.Jshint: Es wird der Aliasname gesetzt:Gesamtstrom_VK
                          ! javascript.0 2018-03-23 12:49:14.147 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe4:HauptstromVKinWh:value
                          ! javascript.0 2018-03-23 12:49:14.146 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe3:Hauptstrom VK in Wh: value
                          ! javascript.0 2018-03-23 12:49:14.146 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe2:Hauptstrom VK in Wh: value
                          ! javascript.0 2018-03-23 12:49:14.146 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe1:Hauptstrom VK in Wh: value
                          ! javascript.0 2018-03-23 12:49:14.145 info script.js.common.Messscripte.Jshint: vor der Aufbereitung: Hauptstrom VK in Wh: value
                          ! javascript.0 2018-03-23 12:49:14.144 info script.js.common.Messscripte.Jshint: Einheit: undefined
                          ! javascript.0 2018-03-23 12:49:14.144 info script.js.common.Messscripte.Jshint: alter Wert: 14948000
                          ! javascript.0 2018-03-23 12:49:14.144 info script.js.common.Messscripte.Jshint: neuer Wert: 14949000
                          ! javascript.0 2018-03-23 12:49:14.144 info script.js.common.Messscripte.Jshint: device name: null
                          ! javascript.0 2018-03-23 12:49:14.143 info script.js.common.Messscripte.Jshint: device ID: null
                          ! javascript.0 2018-03-23 12:49:14.143 info script.js.common.Messscripte.Jshint: channel Name: Hauptstrom VK in Wh
                          ! javascript.0 2018-03-23 12:49:14.143 info script.js.common.Messscripte.Jshint: channel ID: loxone.0.114e32f2-02de-2a66-ffff403fb0c34b9e
                          ! javascript.0 2018-03-23 12:49:14.143 info script.js.common.Messscripte.Jshint: Name: Hauptstrom VK in Wh: value
                          ! javascript.0 2018-03-23 12:49:14.143 info script.js.common.Messscripte.Jshint: id: loxone.0.114e32f2-02de-2a66-ffff403fb0c34b9e.value
                          ! javascript.0 2018-03-23 12:49:14.142 info script.js.common.Messscripte.Jshint: Beschreibung: undefined
                          ! javascript.0 2018-03-23 12:49:14.142 info script.js.common.Messscripte.Jshint: Gewerk: undefined
                          ! javascript.0 2018-03-23 12:49:14.142 info script.js.common.Messscripte.Jshint: RegExp-Funktion ausgelöst
                          ! javascript.0 2018-03-23 12:49:14.142 info script.js.common.Messscripte.Jshint: -------- Strommesser ---------
                          ! javascript.0 2018-03-23 12:49:14.141 info script.js.common.Messscripte.Stromzaehler: ------------ ENDE ------------
                          ! javascript.0 2018-03-23 12:49:14.141 info script.js.common.Messscripte.Stromzaehler: Stromverbrauch und -kosten (Gesamtstrom_VK) aktualisiert
                          ! javascript.0 2018-03-23 12:49:14.128 info script.js.common.Messscripte.Stromzaehler: States in der Instanz javascript.0.Strom. erstellt
                          ! javascript.0 2018-03-23 12:49:14.075 info script.js.common.Messscripte.Stromzaehler: Nach der Aufbereitung: Gesamtstrom_VK
                          ! javascript.0 2018-03-23 12:49:14.075 info script.js.common.Messscripte.Stromzaehler: Es wird der Aliasname gesetzt:Gesamtstrom_VK
                          ! javascript.0 2018-03-23 12:49:14.074 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe4:HauptstromVKinWh:value
                          ! javascript.0 2018-03-23 12:49:14.074 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe3:Hauptstrom VK in Wh: value
                          ! javascript.0 2018-03-23 12:49:14.073 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe2:Hauptstrom VK in Wh: value
                          ! javascript.0 2018-03-23 12:49:14.073 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe1:Hauptstrom VK in Wh: value
                          ! javascript.0 2018-03-23 12:49:14.072 info script.js.common.Messscripte.Stromzaehler: vor der Aufbereitung: Hauptstrom VK in Wh: value
                          ! javascript.0 2018-03-23 12:49:14.072 info script.js.common.Messscripte.Stromzaehler: Einheit: undefined
                          ! javascript.0 2018-03-23 12:49:14.071 info script.js.common.Messscripte.Stromzaehler: alter Wert: 14948000
                          ! javascript.0 2018-03-23 12:49:14.070 info script.js.common.Messscripte.Stromzaehler: neuer Wert: 14949000
                          ! javascript.0 2018-03-23 12:49:14.059 info script.js.common.Messscripte.Stromzaehler: device name: null
                          ! javascript.0 2018-03-23 12:49:14.059 info script.js.common.Messscripte.Stromzaehler: device ID: null
                          ! javascript.0 2018-03-23 12:49:14.058 info script.js.common.Messscripte.Stromzaehler: channel Name: Hauptstrom VK in Wh
                          ! javascript.0 2018-03-23 12:49:14.057 info script.js.common.Messscripte.Stromzaehler: channel ID: loxone.0.114e32f2-02de-2a66-ffff403fb0c34b9e
                          ! javascript.0 2018-03-23 12:49:14.057 info script.js.common.Messscripte.Stromzaehler: Name: Hauptstrom VK in Wh: value
                          ! javascript.0 2018-03-23 12:49:14.056 info script.js.common.Messscripte.Stromzaehler: id: loxone.0.114e32f2-02de-2a66-ffff403fb0c34b9e.value
                          ! javascript.0 2018-03-23 12:49:14.055 info script.js.common.Messscripte.Stromzaehler: Beschreibung: undefined
                          ! javascript.0 2018-03-23 12:49:14.054 info script.js.common.Messscripte.Stromzaehler: Gewerk: undefined
                          ! javascript.0 2018-03-23 12:49:14.053 info script.js.common.Messscripte.Stromzaehler: RegExp-Funktion ausgelöst
                          ! javascript.0 2018-03-23 12:49:14.052 info script.js.common.Messscripte.Stromzaehler: -------- Strommesser ---------
                          ! javascript.0 2018-03-23 12:47:27.550 info script.js.common.Messscripte.Jshint: ------------ ENDE ------------
                          ! javascript.0 2018-03-23 12:47:27.549 info script.js.common.Messscripte.Jshint: Stromverbrauch und -kosten (Zaehler_PV) aktualisiert
                          ! javascript.0 2018-03-23 12:47:27.532 info script.js.common.Messscripte.Jshint: States in der Instanz javascript.0.Strom. erstellt
                          ! javascript.0 2018-03-23 12:47:27.514 info script.js.common.Messscripte.Jshint: Nach der Aufbereitung: Zaehler_PV
                          ! javascript.0 2018-03-23 12:47:27.514 info script.js.common.Messscripte.Jshint: Es wird der Aliasname gesetzt:Zaehler_PV
                          ! javascript.0 2018-03-23 12:47:27.513 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe4:PVZählerinWh:value
                          ! javascript.0 2018-03-23 12:47:27.512 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe3:PV Zähler in Wh: value
                          ! javascript.0 2018-03-23 12:47:27.512 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe2:PV Zähler in Wh: value
                          ! javascript.0 2018-03-23 12:47:27.511 info script.js.common.Messscripte.Jshint: entferneDatenpunkt - rueckgabe1:PV Zähler in Wh: value
                          ! javascript.0 2018-03-23 12:47:27.509 info script.js.common.Messscripte.Jshint: vor der Aufbereitung: PV Zähler in Wh: value
                          ! javascript.0 2018-03-23 12:47:27.509 info script.js.common.Messscripte.Jshint: Einheit: undefined
                          ! javascript.0 2018-03-23 12:47:27.508 info script.js.common.Messscripte.Jshint: alter Wert: 10867000
                          ! javascript.0 2018-03-23 12:47:27.508 info script.js.common.Messscripte.Jshint: neuer Wert: 10868000
                          ! javascript.0 2018-03-23 12:47:27.508 info script.js.common.Messscripte.Jshint: device name: null
                          ! javascript.0 2018-03-23 12:47:27.508 info script.js.common.Messscripte.Jshint: device ID: null
                          ! javascript.0 2018-03-23 12:47:27.507 info script.js.common.Messscripte.Jshint: channel Name: PV Zähler in Wh
                          ! javascript.0 2018-03-23 12:47:27.507 info script.js.common.Messscripte.Jshint: channel ID: loxone.0.114edcd5-02a6-75f1-ffff403fb0c34b9e
                          ! javascript.0 2018-03-23 12:47:27.507 info script.js.common.Messscripte.Jshint: Name: PV Zähler in Wh: value
                          ! javascript.0 2018-03-23 12:47:27.507 info script.js.common.Messscripte.Jshint: id: loxone.0.114edcd5-02a6-75f1-ffff403fb0c34b9e.value
                          ! javascript.0 2018-03-23 12:47:27.506 info script.js.common.Messscripte.Jshint: Beschreibung: undefined
                          ! javascript.0 2018-03-23 12:47:27.506 info script.js.common.Messscripte.Jshint: Gewerk: undefined
                          ! javascript.0 2018-03-23 12:47:27.505 info script.js.common.Messscripte.Jshint: RegExp-Funktion ausgelöst
                          ! javascript.0 2018-03-23 12:47:27.505 info script.js.common.Messscripte.Jshint: -------- Strommesser ---------
                          ! javascript.0 2018-03-23 12:47:27.498 info script.js.common.Messscripte.Stromzaehler: ------------ ENDE ------------
                          ! javascript.0 2018-03-23 12:47:27.498 info script.js.common.Messscripte.Stromzaehler: Stromverbrauch und -kosten (Zaehler_PV) aktualisiert
                          ! javascript.0 2018-03-23 12:47:27.492 info script.js.common.Messscripte.Stromzaehler: States in der Instanz javascript.0.Strom. erstellt
                          ! javascript.0 2018-03-23 12:47:27.483 info script.js.common.Messscripte.Stromzaehler: Nach der Aufbereitung: Zaehler_PV
                          ! javascript.0 2018-03-23 12:47:27.483 info script.js.common.Messscripte.Stromzaehler: Es wird der Aliasname gesetzt:Zaehler_PV
                          ! javascript.0 2018-03-23 12:47:27.483 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe4:PVZählerinWh:value
                          ! javascript.0 2018-03-23 12:47:27.482 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe3:PV Zähler in Wh: value
                          ! javascript.0 2018-03-23 12:47:27.482 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe2:PV Zähler in Wh: value
                          ! javascript.0 2018-03-23 12:47:27.482 info script.js.common.Messscripte.Stromzaehler: entferneDatenpunkt - rueckgabe1:PV Zähler in Wh: value
                          ! javascript.0 2018-03-23 12:47:27.482 info script.js.common.Messscripte.Stromzaehler: vor der Aufbereitung: PV Zähler in Wh: value
                          ! javascript.0 2018-03-23 12:47:27.481 info script.js.common.Messscripte.Stromzaehler: Einheit: undefined
                          ! javascript.0 2018-03-23 12:47:27.481 info script.js.common.Messscripte.Stromzaehler: alter Wert: 10867000
                          ! javascript.0 2018-03-23 12:47:27.481 info script.js.common.Messscripte.Stromzaehler: neuer Wert: 10868000
                          ! javascript.0 2018-03-23 12:47:27.480 info script.js.common.Messscripte.Stromzaehler: device name: null
                          ! javascript.0 2018-03-23 12:47:27.479 info script.js.common.Messscripte.Stromzaehler: device ID: null
                          ! javascript.0 2018-03-23 12:47:27.478 info script.js.common.Messscripte.Stromzaehler: channel Name: PV Zähler in Wh
                          ! javascript.0 2018-03-23 12:47:27.477 info script.js.common.Messscripte.Stromzaehler: channel ID: loxone.0.114edcd5-02a6-75f1-ffff403fb0c34b9e
                          ! javascript.0 2018-03-23 12:47:27.476 info script.js.common.Messscripte.Stromzaehler: Name: PV Zähler in Wh: value
                          ! javascript.0 2018-03-23 12:47:27.475 info script.js.common.Messscripte.Stromzaehler: id: loxone.0.114edcd5-02a6-75f1-ffff403fb0c34b9e.value
                          ! javascript.0 2018-03-23 12:47:27.474 info script.js.common.Messscripte.Stromzaehler: Beschreibung: undefined
                          ! javascript.0 2018-03-23 12:47:27.473 info script.js.common.Messscripte.Stromzaehler: Gewerk: undefined
                          ! javascript.0 2018-03-23 12:47:27.471 info script.js.common.Messscripte.Stromzaehler: RegExp-Funktion ausgelöst
                          ! javascript.0 2018-03-23 12:47:27.470 info script.js.common.Messscripte.Stromzaehler: -------- Strommesser --------- `

                          sag mal, kann es sein, dass bei dir zwei Scripte gleichzeitig laufen???

                          Wenn ich mir deinen Log anschaue, dann hast du um 12:47 Uhr einmal Strommesser von script.js.common.Messscripte.Stromzaehler: –------ Strommesser --------- und gleichzeitig script.js.common.Messscripte.Jshint: -------- Strommesser ---------

                          Die erste Ausführung um 12:47 von script.js.common.Messscripte.Stromzaehler wird dir alles richtig machen, somit ist der tag wieder auf 0 und dann kommt gleich das zweite Script im Anschluss und macht die selbe Aktion noch einmal. Da aber zu diesem Zeitpunkt bereits der aktuelle Tag wieder bei 0 ist, da Tagesbeginn, schreibt die zweite Ausführung natürlich wieder 0 in den Tag 1 Denn laut deinem Log läuft einmal das Script Stromzähler und gleich im Anschluss das selbe Script unter dem Namen Jshint. Prüfe mal und deaktiviere eins mal.

                          Das wird nämlich der Fehler sein, da beide Scripte den selben Pfad innerhalb einer Instanz haben.

                          1 Reply Last reply Reply Quote 0
                          • M
                            Mac last edited by

                            OK, mache ich, ich dachte ich kann beide Scripte, also Deins und 1.2 parallel testen.

                            Danke.

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

                              @Mac:

                              OK, mache ich, ich dachte ich kann beide Scripte, also Deins und 1.2 parallel testen.

                              Danke. `

                              nein, das funzt nicht, da beide den selben Pfad haben. Da hättest du in einem Script den Pfad ändern müssen.

                              1 Reply Last reply Reply Quote 0
                              • M
                                Mac last edited by

                                Kannst Du mir bitte sagen in welcher Zeile der Pfad definiert ist?

                                1 Reply Last reply Reply Quote 0
                                • M
                                  Mac last edited by

                                  Ich habe eine zweite Java Instanz angelegt und das zweite Script dahin geroutet, das müßte doch funktionieren, oder?

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

                                    @Mac:

                                    Ich habe eine zweite Java Instanz angelegt und das zweite Script dahin geroutet, das müßte doch funktionieren, oder? `

                                    Dann musst du, wenn du ne neue Instanz für Java gemacht hast, dann musst du das auch im Script ändern

                                    var instance    = '0';
                                    

                                    Die Zahl muss dann die neue Instanz sein

                                    oder ebend 2 Zeilen drunter

                                    var pfad        = 'Strom.';
                                    

                                    ist beides unter "User-Anpassungen" zu finden.

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      Mac last edited by

                                      Super, das wußte ich nicht, dann müßte es so wohl richtig sein, oder.

                                      4489_bildschirmfoto_2018-03-23_um_17.27.42.png

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

                                        @Mac:

                                        Super, das wußte ich nicht, dann müßte es so wohl richtig sein, oder.

                                        Bildschirmfoto 2018-03-23 um 17.27.42.png `

                                        jupp, so passt das. Nun dürfte es auch korrekt funktionieren.

                                        jshint läuft auf instanz 0 und stromzähler auf 1. Und somit werden auch im objekte zwei unterschiedliche Datensätze angelegt und gezählt

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          Mac last edited by

                                          Juhu, jetzt scheint die Aufzeichnung super zu klappen, der Wochenwechsel wurde vollzogen. Danke noch einmal für die Hilfe.

                                          Zwei Dinge verstehe ich noch nicht,:

                                          • der Anfangs-Zählerstand wird nicht mehr gesetzt.

                                          • die Werte kann ich nicht in VIS setzen, woran kann das liegen? Von VIS aus kann ich die Datenpunkte nicht sehen, wenn ich sie in IOBroker Objekte kopiere und einsetze wird nichts angezeigt?

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

                                            @Mac:

                                            Juhu, jetzt scheint die Aufzeichnung super zu klappen, der Wochenwechsel wurde vollzogen. Danke noch einmal für die Hilfe.

                                            Zwei Dinge verstehe ich noch nicht,:

                                            • der Anfangs-Zählerstand wird nicht mehr gesetzt.

                                            • die Werte kann ich nicht in VIS setzen, woran kann das liegen? Von VIS aus kann ich die Datenpunkte nicht sehen, wenn ich sie in IOBroker Objekte kopiere und einsetze wird nichts angezeigt? `

                                            Nabend Mac

                                            schön, dass es nun endlich funktioniert.

                                            Der Anfangszählerstand musst du doch selbst setzen, wenn vom temporären abweicht. So habe ich das verstanden.

                                            Also bei mir funktioniert das. Ich kann mir alle Datensätze im VIS anzeigen lassen. Ich brauche dazu auch nichts kopieren sondern wähle einfach nur den Datenpunkt aus.

                                            ![](</s><URL url=)http://prntscr.com/ix5hif" />

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            544
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            81
                                            455
                                            106474
                                            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