dec number bitPosition warUeberschuss istUeberschuss Beim Skriptstart einmalig: alle benötigten Datenpunkte unter 0_userdata.0.PV-Kurzuebersicht automatisch anlegen, falls sie noch nicht existieren Kurze Pause: createState() legt Datenpunkte asynchron an. Erst warten, bis sie sicher existieren, dann erst auf Modbus-Änderungen reagieren - verhindert "state not found"-Warnungen direkt beim Skriptstart 3 sec Überschusskontrolle Ueberschuss = true erst nach 5 Min. durchgehendem Export > 0 (Kantenerkennung + verzögertes/abbrechbares setState) warUeberschuss GT val modbus.2.inputRegisters.1.13009_Export_power 0 ne modbus.2.inputRegisters.1.13009_Export_power istUeberschuss GT val modbus.2.inputRegisters.1.13009_Export_power 0 NEQ istUeberschuss warUeberschuss istUeberschuss Wechsel zu Überschuss: 5-Minuten-Timer starten (löscht evtl. laufenden False-Timer) 0_userdata.0.PV-Kurzuebersicht.Ueberschuss TRUE 300 sec TRUE TRUE Wechsel zu kein Überschuss: laufenden Timer löschen und false setzen 0_userdata.0.PV-Kurzuebersicht.Ueberschuss TRUE 1 sec TRUE FALSE warUeberschuss istUeberschuss Bei Änderung von Status oder Wirkleistung Running state + Leistungen extrahieren ne modbus.2.inputRegisters.1.13000_Running_State modbus.2.inputRegisters.1.13007_Load_power 1 sec val modbus.2.inputRegisters.1.13000_Running_State 0_userdata.0.PV-Kurzuebersicht.EnergyConsumptionToday FALSE 1 3.1234 SUM val modbus.2.inputRegisters.1.13016_Daily_direct_Energy_Consumption val modbus.2.inputRegisters.1.13035_Daily_Import_Energy val modbus.2.inputRegisters.1.13025_Daily_battery_discharge_Energy ne 0_userdata.0.PV-Kurzuebersicht.PowerImportFromGrid 0_userdata.0.PV-Kurzuebersicht.BatteryDischarging 0_userdata.0.PV-Kurzuebersicht.BatteryCharging EQ val 0_userdata.0.PV-Kurzuebersicht.PowerImportFromGrid TRUE Rot: Strom kommt (auch) aus dem Netz - egal ob fuer die Last oder zum Laden der Batterie 0_userdata.0.PV-Kurzuebersicht.VIS-Rahmen FALSE 1 EQ val 0_userdata.0.PV-Kurzuebersicht.BatteryDischarging TRUE Orange: PV reicht nicht ganz, Batterie entlaedt zur Lastversorgung dazu - kein Netzbezug 0_userdata.0.PV-Kurzuebersicht.VIS-Rahmen FALSE 3 EQ val 0_userdata.0.PV-Kurzuebersicht.BatteryCharging TRUE Gelb: PV deckt die Last und laedt zusaetzlich die Batterie - echter Ueberschuss vorhanden 0_userdata.0.PV-Kurzuebersicht.VIS-Rahmen FALSE 2 Gruen: kein Netzbezug, Batterie bewegt sich nicht (voll und PV deckt/uebersteigt Last, oder PV entspricht exakt der Last) - bester Zeitpunkt fuer Grossgeraete 0_userdata.0.PV-Kurzuebersicht.VIS-Rahmen FALSE 0 MPPT Leistung ausmultiplizieren ne modbus.2.inputRegisters.1.5010_MPPT_1_Voltage modbus.2.inputRegisters.1.5012_MPPT_2_Voltage modbus.2.inputRegisters.1.5011_MPPT_1_Current modbus.2.inputRegisters.1.5013_MPPT_2_Current 0_userdata.0.PV-Kurzuebersicht.MPPT1 FALSE ROUND 3.1 MULTIPLY 1 val modbus.2.inputRegisters.1.5010_MPPT_1_Voltage 1 val modbus.2.inputRegisters.1.5011_MPPT_1_Current 0_userdata.0.PV-Kurzuebersicht.MPPT2 FALSE ROUND 3.1 MULTIPLY 1 val modbus.2.inputRegisters.1.5012_MPPT_2_Voltage 1 val modbus.2.inputRegisters.1.5013_MPPT_2_Current Alle 10 Minuten: Running States ausgeben */10 * * * * val modbus.2.inputRegisters.1.13000_Running_State getBit ICByZXR1cm4gKG51bWJlciAmICgxIDw8IGJpdFBvc2l0aW9uKSkgPT09IDAgPyAwIDogMTsK Beschreibe diese Funktion … extractRunningStates ZnVuY3Rpb24gZGVjVG9CaXQoZGVjLCBiaXRQb3NpdGlvbikgewogICAgcmV0dXJuIChkZWMgJiAoMSA8PCBiaXRQb3NpdGlvbikpID09PSAwID8gZmFsc2UgOiB0cnVlOwp9CgovLyBEZWNvZGUgcnVubmluZyBzdGF0ZSBmbGFncwokcG93ZXJHZW5lcmF0ZWRGcm9tUFYgPSBkZWNUb0JpdChkZWMsIDApOwokYmF0dGVyeUNoYXJnaW5nID0gZGVjVG9CaXQoZGVjLCAxKTsKJGJhdHRlcnlEaXNjaGFyZ2luZyA9IGRlY1RvQml0KGRlYywgMik7CiRsb2FkQWN0aXZlID0gZGVjVG9CaXQoZGVjLCAzKTsKJHBvd2VyRmVlZEludG9HcmlkID0gZGVjVG9CaXQoZGVjLCA0KTsKJHBvd2VySW1wb3J0RnJvbUdyaWQgPSBkZWNUb0JpdChkZWMsIDUpOwovLyBCaXQgNjogdm9uIFN1bmdyb3cgYWxzIHJlc2VydmllcnQgZG9rdW1lbnRpZXJ0LCBha3R1ZWxsIG9obmUgRnVua3Rpb24KJHBvd2VyR2VuZXJhdGVkRnJvbUxvYWQgPSBkZWNUb0JpdChkZWMsIDcpOwoKLy8gU2F2ZSBydW5uaW5nIHN0YXRlIG1vcmUgc3BlYWtpbmcgZmllbGRzCnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuUFYtS3VyenVlYmVyc2ljaHQuUG93ZXJHZW5lcmF0ZWRGcm9tUFYiLCAkcG93ZXJHZW5lcmF0ZWRGcm9tUFYsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlBWLUt1cnp1ZWJlcnNpY2h0LkJhdHRlcnlDaGFyZ2luZyIsICRiYXR0ZXJ5Q2hhcmdpbmcsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlBWLUt1cnp1ZWJlcnNpY2h0LkJhdHRlcnlEaXNjaGFyZ2luZyIsICRiYXR0ZXJ5RGlzY2hhcmdpbmcsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlBWLUt1cnp1ZWJlcnNpY2h0LkxvYWRBY3RpdmUiLCAkbG9hZEFjdGl2ZSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuUFYtS3VyenVlYmVyc2ljaHQuUG93ZXJGZWVkSW50b0dyaWQiLCAkcG93ZXJGZWVkSW50b0dyaWQsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlBWLUt1cnp1ZWJlcnNpY2h0LlBvd2VySW1wb3J0RnJvbUdyaWQiLCAkcG93ZXJJbXBvcnRGcm9tR3JpZCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuUFYtS3VyenVlYmVyc2ljaHQuUG93ZXJHZW5lcmF0ZWRGcm9tTG9hZCIsICRwb3dlckdlbmVyYXRlZEZyb21Mb2FkLCB0cnVlKTsKCi8vIFJlYWQgY3VycmVudCBwb3dlciBsZXZlbHMgb2YgYmF0LCBwdiwgbG9hZCBhbmQgZ3JpZAokbG9hZCA9IGdldFN0YXRlKCJtb2RidXMuMi5pbnB1dFJlZ2lzdGVycy4xLjEzMDA3X0xvYWRfcG93ZXIiKS52YWw7CiRncmlkID0gZ2V0U3RhdGUoIm1vZGJ1cy4yLmlucHV0UmVnaXN0ZXJzLjEuMTMwMDlfRXhwb3J0X3Bvd2VyIikudmFsOwokcHYgPSBnZXRTdGF0ZSgibW9kYnVzLjIuaW5wdXRSZWdpc3RlcnMuMS41MDE2X1RvdGFsX0RDX1Bvd2VyIikudmFsOwovLyRwdiA9IGdldFN0YXRlKCJtb2RidXMuMC5pbnB1dFJlZ2lzdGVycy4xMzAzM19Ub3RhbF9hY3RpdmVfcG93ZXIiKS52YWw7IC8vIFRoaXMgcmVnaXN0ZXIgZ2l2ZXMgbW9yZSBwbGF1c2libGUgdmFsdWVzIHJlZ2FyZGluZyBwdlRvR3JpZCBhbmQgdGhlIGFjdHVhbCBncmlkIHZhbHVlcy4gQnV0IHdhcyB3cm9uZyBieSBhIGZldyAxMDAgd2F0dHMgaW4gdGhlIG1vcm51bmcKJGJhdHRlcnkgPSBnZXRTdGF0ZSgibW9kYnVzLjIuaW5wdXRSZWdpc3RlcnMuMS4xMzAyMV9CYXR0ZXJ5X3Bvd2VyIikudmFsOwoKLy8gV3JpdGUgc2lnbmVkIGJhdAoKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5QVi1LdXJ6dWViZXJzaWNodC5TaWduZWRCYXQiLCAkYmF0dGVyeUNoYXJnaW5nID8gJGJhdHRlcnkgKiAtMSA6ICRiYXR0ZXJ5LCB0cnVlKTsKCi8vIENhbGN1bGF0ZSBQVgokcHZUb0JhdCA9IDA7CiRwdlRvTG9hZCA9IDA7CiRwdlRvR3JpZCA9IDA7CiRsb2FkUmVtYWluaW5nID0gJGxvYWQ7CmlmICgkcG93ZXJHZW5lcmF0ZWRGcm9tUFYpIHsKICAgICRyZW1haW5pbmcgPSAkcHY7CiAgICBpZiAoJHJlbWFpbmluZyA+ICRsb2FkUmVtYWluaW5nKSB7CiAgICAgICAgJHB2VG9Mb2FkID0gJGxvYWRSZW1haW5pbmc7CiAgICAgICAgJHJlbWFpbmluZyAtPSAkbG9hZDsKICAgICAgICAkbG9hZFJlbWFpbmluZyA9IDA7CiAgICB9IGVsc2UgewogICAgICAgICRwdlRvTG9hZCA9ICRyZW1haW5pbmc7CiAgICAgICAgJGxvYWRSZW1haW5pbmcgPSAkbG9hZCAtICRyZW1haW5pbmc7CiAgICAgICAgJHJlbWFpbmluZyA9IDA7CiAgICAgICAgCiAgICB9CiAgICAKICAgIGlmICgkYmF0dGVyeUNoYXJnaW5nKSB7CiAgICAgICAgaWYgKCRyZW1haW5pbmcgPiAkYmF0dGVyeSkgeyAgICAgICAgICAgIAogICAgICAgICAgICAkcHZUb0JhdCA9ICRiYXR0ZXJ5OwogICAgICAgICAgICAkcmVtYWluaW5nIC09ICRiYXR0ZXJ5OwogICAgICAgIH0gZWxzZSB7ICAgICAgICAgICAgCiAgICAgICAgICAgICRwdlRvQmF0ID0gJHJlbWFpbmluZzsKICAgICAgICAgICAgJHJlbWFpbmluZyA9IDA7CiAgICAgICAgfQogICAgfQogICAgCiAgICBpZiAoJGdyaWQgPiAwKSB7CiAgICAgICAgJHB2VG9HcmlkID0gTWF0aC5taW4oJGdyaWQsICRyZW1haW5pbmcpOwogICAgfQp9CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuUFYtS3VyenVlYmVyc2ljaHQuUHZUb0xvYWQiLCAkcHZUb0xvYWQsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlBWLUt1cnp1ZWJlcnNpY2h0LlB2VG9CYXQiLCAkcHZUb0JhdCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuUFYtS3VyenVlYmVyc2ljaHQuUHZUb0dyaWQiLCAkcHZUb0dyaWQsIHRydWUpOwoKLy8gQ2FsY3VsYXRlIEJhdAokYmF0VG9Mb2FkID0gMDsKJGJhdFRvR3JpZCA9IDA7CmlmICgkYmF0dGVyeURpc2NoYXJnaW5nKSB7CiAgICAkcmVtYWluaW5nID0gJGJhdHRlcnk7CiAgICBpZiAoJHJlbWFpbmluZyA+ICRsb2FkUmVtYWluaW5nKSB7CiAgICAgICAgJGJhdFRvTG9hZCA9ICRsb2FkUmVtYWluaW5nOwogICAgICAgICRyZW1haW5pbmcgLT0gJGxvYWRSZW1haW5pbmc7CiAgICAgICAgJGxvYWRSZW1haW5pbmcgPSAwOwogICAgfSBlbHNlIHsKICAgICAgICAkYmF0VG9Mb2FkID0gJHJlbWFpbmluZzsKICAgICAgICAkbG9hZFJlbWFpbmluZyAtPSAkcmVtYWluaW5nOwogICAgICAgICRyZW1haW5pbmcgPSAwOyAgICAgICAgCiAgICB9CiAgICAKICAgIC8vIEtPUlJFS1RVUjogbmljaHQgbWVociBnZWdlbiBkZW4gdm9sbGVuIEV4cG9ydHdlcnQgcHJ1ZWZlbiwgc29uZGVybiBudXIKICAgIC8vIGdlZ2VuIGRhcywgd2FzIFBWIG5vY2ggbmljaHQgYmVyZWl0cyBmdWVyIHNpY2ggYmVhbnNwcnVjaHQgaGF0CiAgICBpZiAoJHBvd2VyRmVlZEludG9HcmlkKSB7CiAgICAgICAgJGJhdFRvR3JpZCA9IE1hdGgubWluKE1hdGgubWF4KCRncmlkIC0gJHB2VG9HcmlkLCAwKSwgJHJlbWFpbmluZyk7CiAgICB9Cn0KCnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuUFYtS3VyenVlYmVyc2ljaHQuQmF0VG9Mb2FkIiwgJGJhdFRvTG9hZCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuUFYtS3VyenVlYmVyc2ljaHQuQmF0VG9HcmlkIiwgJGJhdFRvR3JpZCwgdHJ1ZSk7CgovLyBDYWxjdWxhdGUgZ3JpZAokZ3JpZFRvQmF0ID0gMDsKJGdyaWRUb0xvYWQgPSAwOwppZiAoJGdyaWQgPCAwKSB7CiAgICAkcmVtYWluaW5nID0gTWF0aC5hYnMoJGdyaWQpOwogICAgaWYgKCRyZW1haW5pbmcgPiAkbG9hZFJlbWFpbmluZykgewogICAgICAgICRncmlkVG9Mb2FkID0gJGxvYWRSZW1haW5pbmc7CiAgICAgICAgJHJlbWFpbmluZyAtPSAkbG9hZFJlbWFpbmluZzsKICAgICAgICAkbG9hZFJlbWFpbmluZyA9IDA7CiAgICB9IGVsc2UgewogICAgICAgICRncmlkVG9Mb2FkID0gJHJlbWFpbmluZzsKICAgICAgICAkbG9hZFJlbWFpbmluZyAtPSAkcmVtYWluaW5nOwogICAgICAgICRyZW1haW5pbmcgPSAwOyAgICAgICAgCiAgICB9CiAgICAKICAgIC8vIEtPUlJFS1RVUjogbmljaHQgbWVociBnZWdlbiBkaWUgdm9sbGUgQmF0dGVyaWVsYWRlbGVpc3R1bmcgcHJ1ZWZlbiwgc29uZGVybgogICAgLy8gbnVyIGdlZ2VuIGRhcywgd2FzIFBWIG5vY2ggbmljaHQgYmVyZWl0cyB6dW0gTGFkZW4gYmVpZ2V0cmFnZW4gaGF0CiAgICBpZiAoJGJhdHRlcnlDaGFyZ2luZykgewogICAgICAgICRncmlkVG9CYXQgPSBNYXRoLm1pbihNYXRoLm1heCgkYmF0dGVyeSAtICRwdlRvQmF0LCAwKSwgJHJlbWFpbmluZyk7CiAgICB9Cn0KCnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuUFYtS3VyenVlYmVyc2ljaHQuR3JpZFRvTG9hZCIsICRncmlkVG9Mb2FkLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5QVi1LdXJ6dWViZXJzaWNodC5HcmlkVG9CYXQiLCAkZ3JpZFRvQmF0LCB0cnVlKTsK Beschreibe diese Funktion … debug output Beschreibe diese Funktion … create some debug messages so we can check state changes in the log after the fact debug test Power generation dec 0 debug test Battery charging dec 1 debug test Battery discharging dec 2 debug test Positive load dec 3 debug test Power feed into the grid dec 4 debug test Power from the grid dec 5 debug test Power from load dec 7 createDatapoints Ly8gQ3JlYXRlcyBhIHN0YXRlIGlmIGl0IGRvZXMgbm90IGV4aXN0IHlldApmdW5jdGlvbiBjcmVhdGVTdGF0ZUlmTm90RXhpc3RzKHN0YXRlLCBuYW1lLCB0eXBlLCByb2xlLCBkZWYpIHsKICAgIGlmICghZXhpc3RzU3RhdGUoc3RhdGUpKSB7CiAgICAgICAgY3JlYXRlU3RhdGUoc3RhdGUsIGRlZiwgZmFsc2UsIHtuYW1lOiBuYW1lLCB0eXBlOiB0eXBlLCByb2xlOiByb2xlfSwgZnVuY3Rpb24gKCkge30pOwogICAgfQp9CgpjcmVhdGVTdGF0ZUlmTm90RXhpc3RzKCIwX3VzZXJkYXRhLjAuUFYtS3VyenVlYmVyc2ljaHQuUHZUb0xvYWQiLCAiUG93ZXIgZnJvbSBQViB0byBsb2FkIiwgIm51bWJlciIsICJ2YWx1ZSIsIDApOwpjcmVhdGVTdGF0ZUlmTm90RXhpc3RzKCIwX3VzZXJkYXRhLjAuUFYtS3VyenVlYmVyc2ljaHQuUHZUb0JhdCIsICJQb3dlciBmcm9tIFBWIHRvIGJhdCIsICJudW1iZXIiLCAidmFsdWUiLCAwKTsKY3JlYXRlU3RhdGVJZk5vdEV4aXN0cygiMF91c2VyZGF0YS4wLlBWLUt1cnp1ZWJlcnNpY2h0LlB2VG9HcmlkIiwgIlBvd2VyIGZyb20gUFYgdG8gZ3JpZCIsICJudW1iZXIiLCAidmFsdWUiLCAwKTsKY3JlYXRlU3RhdGVJZk5vdEV4aXN0cygiMF91c2VyZGF0YS4wLlBWLUt1cnp1ZWJlcnNpY2h0LkJhdFRvTG9hZCIsICJQb3dlciBmcm9tIEJhdCB0byBsb2FkIiwgIm51bWJlciIsICJ2YWx1ZSIsIDApOwpjcmVhdGVTdGF0ZUlmTm90RXhpc3RzKCIwX3VzZXJkYXRhLjAuUFYtS3VyenVlYmVyc2ljaHQuQmF0VG9HcmlkIiwgIlBvd2VyIGZyb20gQmF0IHRvIGdyaWQiLCAibnVtYmVyIiwgInZhbHVlIiwgMCk7CmNyZWF0ZVN0YXRlSWZOb3RFeGlzdHMoIjBfdXNlcmRhdGEuMC5QVi1LdXJ6dWViZXJzaWNodC5HcmlkVG9Mb2FkIiwgIlBvd2VyIGZyb20gZ3JpZCB0byBsb2FkIiwgIm51bWJlciIsICJ2YWx1ZSIsIDApOwpjcmVhdGVTdGF0ZUlmTm90RXhpc3RzKCIwX3VzZXJkYXRhLjAuUFYtS3VyenVlYmVyc2ljaHQuR3JpZFRvQmF0IiwgIlBvd2VyIGZyb20gZ3JpZCB0byBiYXR0ZXJ5IiwgIm51bWJlciIsICJ2YWx1ZSIsIDApOwpjcmVhdGVTdGF0ZUlmTm90RXhpc3RzKCIwX3VzZXJkYXRhLjAuUFYtS3VyenVlYmVyc2ljaHQuU2lnbmVkQmF0IiwgIkJhdHRlcnkgYnV0IHdpdGggbWludXMgc2lnbiBmb3IgY2hhcmdpbmciLCAibnVtYmVyIiwgInZhbHVlIiwgMCk7CgpjcmVhdGVTdGF0ZUlmTm90RXhpc3RzKCIwX3VzZXJkYXRhLjAuUFYtS3VyenVlYmVyc2ljaHQuUG93ZXJHZW5lcmF0ZWRGcm9tUFYiLCAiUG93ZXIgZ2VuZXJhdGVkIGZyb20gUFYgKHJ1bm5pbmcgc3RhdGUpIiwgImJvb2xlYW4iLCAiaW5kaWNhdG9yIiwgZmFsc2UpOwpjcmVhdGVTdGF0ZUlmTm90RXhpc3RzKCIwX3VzZXJkYXRhLjAuUFYtS3VyenVlYmVyc2ljaHQuQmF0dGVyeUNoYXJnaW5nIiwgIkJhdHRlcnkgY2hhcmdpbmcgKHJ1bm5pbmcgc3RhdGUpIiwgImJvb2xlYW4iLCAiaW5kaWNhdG9yIiwgZmFsc2UpOwpjcmVhdGVTdGF0ZUlmTm90RXhpc3RzKCIwX3VzZXJkYXRhLjAuUFYtS3VyenVlYmVyc2ljaHQuQmF0dGVyeURpc2NoYXJnaW5nIiwgIkJhdHRlcnkgZGlzY2hhcmdpbmcgKHJ1bm5pbmcgc3RhdGUpIiwgImJvb2xlYW4iLCAiaW5kaWNhdG9yIiwgZmFsc2UpOwpjcmVhdGVTdGF0ZUlmTm90RXhpc3RzKCIwX3VzZXJkYXRhLjAuUFYtS3VyenVlYmVyc2ljaHQuTG9hZEFjdGl2ZSIsICJMb2FkIGFjdGl2ZSAocnVubmluZyBzdGF0ZSkiLCAiYm9vbGVhbiIsICJpbmRpY2F0b3IiLCBmYWxzZSk7CmNyZWF0ZVN0YXRlSWZOb3RFeGlzdHMoIjBfdXNlcmRhdGEuMC5QVi1LdXJ6dWViZXJzaWNodC5Qb3dlckZlZWRJbnRvR3JpZCIsICJQb3dlciBmZWVkIGludG8gZ3JpZCAocnVubmluZyBzdGF0ZSkiLCAiYm9vbGVhbiIsICJpbmRpY2F0b3IiLCBmYWxzZSk7CmNyZWF0ZVN0YXRlSWZOb3RFeGlzdHMoIjBfdXNlcmRhdGEuMC5QVi1LdXJ6dWViZXJzaWNodC5Qb3dlckltcG9ydEZyb21HcmlkIiwgIlBvd2VyIGltcG9ydCBmcm9tIGdyaWQgKHJ1bm5pbmcgc3RhdGUpIiwgImJvb2xlYW4iLCAiaW5kaWNhdG9yIiwgZmFsc2UpOwpjcmVhdGVTdGF0ZUlmTm90RXhpc3RzKCIwX3VzZXJkYXRhLjAuUFYtS3VyenVlYmVyc2ljaHQuUG93ZXJHZW5lcmF0ZWRGcm9tTG9hZCIsICJQb3dlciBnZW5lcmF0ZWQgZnJvbSBsb2FkIChydW5uaW5nIHN0YXRlKSIsICJib29sZWFuIiwgImluZGljYXRvciIsIGZhbHNlKTsKCmNyZWF0ZVN0YXRlSWZOb3RFeGlzdHMoIjBfdXNlcmRhdGEuMC5QVi1LdXJ6dWViZXJzaWNodC5NUFBUMSIsICJNUFBUIDEgcG93ZXIiLCAibnVtYmVyIiwgInZhbHVlIiwgMCk7CmNyZWF0ZVN0YXRlSWZOb3RFeGlzdHMoIjBfdXNlcmRhdGEuMC5QVi1LdXJ6dWViZXJzaWNodC5NUFBUMiIsICJNUFBUIDIgcG93ZXIiLCAibnVtYmVyIiwgInZhbHVlIiwgMCk7CgpjcmVhdGVTdGF0ZUlmTm90RXhpc3RzKCIwX3VzZXJkYXRhLjAuUFYtS3VyenVlYmVyc2ljaHQuRW5lcmd5Q29uc3VtcHRpb25Ub2RheSIsICJFbmVyZ3kgY29uc3VtcHRpb24gdG9kYXkiLCAibnVtYmVyIiwgInZhbHVlIiwgMCk7CmNyZWF0ZVN0YXRlSWZOb3RFeGlzdHMoIjBfdXNlcmRhdGEuMC5QVi1LdXJ6dWViZXJzaWNodC5WSVMtUmFobWVuIiwgIlZJUyBSYWhtZW5mYXJiZSAoMD1ncnVlbiwxPXJvdCwyPWdlbGIsMz1vcmFuZ2UpIiwgIm51bWJlciIsICJ2YWx1ZSIsIDApOwoKY3JlYXRlU3RhdGVJZk5vdEV4aXN0cygiMF91c2VyZGF0YS4wLlBWLUt1cnp1ZWJlcnNpY2h0LlVlYmVyc2NodXNzIiwgIlBWLVVlYmVyc2NodXNzIHNlaXQgbWluZC4gNSBNaW51dGVuIiwgImJvb2xlYW4iLCAiaW5kaWNhdG9yIiwgZmFsc2UpOw== Legt alle unter 0_userdata.0.PV-Kurzuebersicht benötigten Datenpunkte an, falls sie noch nicht existieren