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

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

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] Hargassner HV40 Daten über telnet abgreifen

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.5k

[gelöst] Hargassner HV40 Daten über telnet abgreifen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
heatingjavascriptmonitoring
32 Beiträge 10 Kommentatoren 7.6k Aufrufe 11 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • jpgorganizerJ jpgorganizer

    @Hogy
    au das wär toll.

    @SBorg
    du hast das script gemacht. Warum als script und keinen Adapter dafür? gab es Gründe?

    Ich würde mir beides Liste + Script in den nächsten Tagen mal anschauen und wenn ich damit zurecht komme und es mit meiner Heizung grundsätzlich mal funktioniert, dann würde ich mich ggfs. hinsetzen und einen Adapter schreiben.
    Darf ich dann eure Grundlage verwenden?

    Mal sehen ... vmtl. bekomme ich dann zwar Ärger mit meiner Frau, weil ich nicht mehr vom PC wegkomme. Aber irgendwas muss man ja gerade tun.

    VG jpgorganizer

    SBorgS Offline
    SBorgS Offline
    SBorg
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #17

    @jpgorganizer sagte in Hargassner HV40 Daten über telnet abgreifen:

    du hast das script gemacht. Warum als script und keinen Adapter dafür? gab es Gründe?

    Ja :)
    Man braucht nicht immer für alles und jedes einen Adapter. Mein Motto: Keep it lean, clean and simple
    Als Adapter schleppt man gleich einen irrsinnigen Overhead mit sich rum. Als Skript benötigt es kaum Speicher und CPU-Ressourcen und überlebt so ziemlich jedwedes Update. Inkompatibilitäten wegen eines JS-, Node...-Updates gibt es da nicht.

    Da es keine Atomwissenschaft ist, kannst du daraus auch selbstverständlich einen Adapter basteln. Schließlich grenze ich damit die Windows-User aus, auch wenn sich noch keiner beschwert hat ;)

    LG SBorg ( SBorg auf GitHub)
    Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

    1 Antwort Letzte Antwort
    0
    • HogyH Offline
      HogyH Offline
      Hogy
      schrieb am zuletzt editiert von Hogy
      #18

      @jpgorganizer
      hier die Objekte mit der Beschreibung, wofür ich sie halte.

            "name": "HV40 Wassertemperatur",
            "name": "Value 000",
            "name": "Abgase Ist",
            "name": "Value 001",
            "name": "O² Ist",
            "name": "Value 002",
            "name": "Puffer Oben",
            "name": "Value 003",
            "name": "Puffer Mitte",
            "name": "Value 004",
            "name": "Puffer Unten",
            "name": "Value 005",
            "name": "Außentemperatur",
            "name": "Value 006",
            "name": "Heizung Vorlauf Ist",
            "name": "Value 007",
            "name": "Value 008",
            "name": "Value 008",
            "name": "Value 009",
            "name": "Value 009",
            "name": "Value 010",
            "name": "Value 010",
            "name": "Brauchwasser",
            "name": "Value 011",
            "name": "Heizung Vorlauf Soll",
            "name": "Value 012",
            "name": "Value 013",
            "name": "Value 013",
            "name": "Value 014 ?",
            "name": "Value 014",
            "name": "Value 015",
            "name": "Value 015",
            "name": "Primärluft Soll",
            "name": "Value 016",
            "name": "Primärluft Ist",
            "name": "Value 017",
            "name": "Sekundärluft Soll",
            "name": "Value 018",
            "name": "Sekundärluft Ist",
            "name": "Value 019",
            "name": "Saugzug Ist",
            "name": "Value 020",
            "name": "Value 021",
            "name": "Value 021",
            "name": "Status",
            "name": "Value 022",
            "name": "O² Soll",
            "name": "Value 023",
            "name": "Lambdasonde ?",
            "name": "Value 024",
            "name": "Value 025",
            "name": "Value 025",
            "name": "Saugzug Soll",
            "name": "Value 026",
            "name": "Value 027",
            "name": "Value 027",
            "name": "Value 028",
            "name": "Value 028",
            "name": "Value 029",
            "name": "Value 029",
            "name": "Value 030",
            "name": "Value 030",
            "name": "Value 031",
            "name": "Value 031",
            "name": "Value 032",
            "name": "Value 032",
            "name": "Value 033",
            "name": "Value 033",
            "name": "Value 034",
            "name": "Value 034",
            "name": "Value 035",
            "name": "Value 035",
            "name": "Value 036",
            "name": "Value 036",
            "name": "Value 037",
            "name": "Value 037",
            "name": "Value 038",
            "name": "Value 038",
            "name": "Value 039",
            "name": "Value 039",
            "name": "Value 040",
            "name": "Value 040",
            "name": "Value 041",
            "name": "Value 041",
            "name": "Value 042",
            "name": "Value 042",
            "name": "Value 043",
            "name": "Value 043",
            "name": "Value 044",
            "name": "Value 044",
            "name": "Value 045",
            "name": "Value 045",
            "name": "Leistung",
            "name": "Value 046",
            "name": "Heizungselektronik",
            "name": "Value 047",
            "name": "Boiler Vorlauf Ist",
            "name": "Value 048",
            "name": "Puffer Füllgrad",
            "name": "Value 049",
            "name": "Value 050",
            "name": "Value 050",
            "name": "Value 051",
            "name": "Value 051",
            "name": "Value 052",
            "name": "Value 052",
            "name": "Value 053",
            "name": "Value 053",
            "name": "Value 054",
            "name": "Value 054",
            "name": "Value 055",
            "name": "Value 055",
            "name": "Value 056",
            "name": "Value 056",
            "name": "Ölheizung",
            "name": "Value 057",
            "name": "Boiler Vorlauf Soll",
            "name": "Value 058",
            "name": "Außentemperatur gemittelt",
            "name": "Value 059",
            "name": "Value 060",
            "name": "Value 060",
            "name": "Value 061",
            "name": "Value 061",
            "name": "Value 062",
            "name": "Value 062",
            "name": "Value 063",
            "name": "Value 063",
            "name": "Value 064",
            "name": "Value 064",
            "name": "Value 065",
            "name": "Value 065",
            "name": "Value 066",
            "name": "Value 066",
            "name": "Value 067",
            "name": "Value 067",
            "name": "Value 068",
            "name": "Value 068",
            "name": "Value 069",
            "name": "Value 069",
            "name": "Value 070",
            "name": "Value 070",
            "name": "Value 071",
            "name": "Value 071",
            "name": "Value 072",
            "name": "Value 072",
            "name": "Value 073",
            "name": "Value 073",
            "name": "Value 074",
            "name": "Value 074",
            "name": "Value 075",
            "name": "Value 075",
            "name": "Value 076",
            "name": "Value 076",
            "name": "Value 077",
            "name": "Value 077",
            "name": "Value 078",
            "name": "Value 078",
            "name": "Value 079",
            "name": "Value 079",
            "name": "Value 080",
            "name": "Value 080",
            "name": "Value 081",
            "name": "Value 081",
            "name": "Value 082",
            "name": "Value 082",
            "name": "Value 083",
            "name": "Value 083",
            "name": "Value 084",
            "name": "Value 084",
            "name": "Value 085",
            "name": "Value 085",
            "name": "Value 086",
            "name": "Value 086",
            "name": "Value 087 ?",
            "name": "Value 087",
            "name": "Value 088 ?",
            "name": "Value 088",
            "name": "Value 089",
            "name": "Value 089",
            "name": "Value 090",
            "name": "Value 090",
            "name": "Value 091",
            "name": "Value 091",
            "name": "Value 092 ?",
            "name": "Value 092",
            "name": "Value 093",
            "name": "Value 093",
            "name": "Value 094 ?",
            "name": "Value 094",
            "name": "Value 095",
            "name": "Value 095",
            "name": "Value 096",
            "name": "Value 096",
            "name": "Value 097",
            "name": "Value 097",
            "name": "Value 098",
            "name": "Value 098",
            "name": "Value 099",
            "name": "Value 099",
            "name": "Value 100",
            "name": "Value 100",
            "name": "Value 101",
            "name": "Value 101",
            "name": "Value 102",
            "name": "Value 102",
            "name": "Value 103",
            "name": "Value 103",
            "name": "Value 104",
            "name": "Value 104",
            "name": "Value 105",
            "name": "Value 105",
            "name": "Value 106",
            "name": "Value 106",
            "name": "Value 107",
            "name": "Value 107",
            "name": "Value 108",
            "name": "Value 108",
            "name": "Value 109",
            "name": "Value 109",
            "name": "Value 110",
            "name": "Value 110",
            "name": "Value 111",
            "name": "Value 111",
            "name": "Value 112",
            "name": "Value 112",
            "name": "Value 113",
            "name": "Value 113",
            "name": "Value114 ?",
            "name": "Value 114",
            "name": "Value115 ?",
            "name": "Value 115",
            "name": "Value 116",
            "name": "Value 116",
            "name": "Value 117",
            "name": "Value 117",
            "name": "Value 118",
            "name": "Value 118",
            "name": "Value 119",
            "name": "Value 119",
            "name": "Value 120",
            "name": "Value 120",
            "name": "Value 121",
            "name": "Value 121",
            "name": "Value 122",
            "name": "Value 122",
            "name": "Value 123",
            "name": "Value 123",
            "name": "Value 124",
            "name": "Value 124",
            "name": "Value 125",
            "name": "Value 125",
            "name": "Value 126",
            "name": "Value 126",
            "name": "Value 127",
            "name": "Value 127",
            "name": "Value 128",
            "name": "Value 128",
            "name": "Value 129",
            "name": "Value 129",
            "name": "Value 130",
            "name": "Value 130",
            "name": "Betriebsstunden Steuerung",
            "name": "Value 131",
            "name": "Betriebsstunden Heizung",
            "name": "Value 132",
            "name": "Betriebsstunden Leistungsbrand",
            "name": "Value 133",
            "name": "Value 134 ?",
            "name": "Value 134",
            "name": "Betriebsstunden Zündung",
            "name": "Value 135",
            "name": "Betriebsstunden Saugzug",
            "name": "Value 136",
            "name": "Value 137",
            "name": "Value 137",
            "name": "Value 138",
            "name": "Value 138",
            "name": "Value139 ?",
            "name": "Value 139",
            "name": "Value 140",
            "name": "Value 140",
            "name": "Value 141",
            "name": "Value 141",
            "name": "Value 142 ?",
            "name": "Value 142",
            "name": "Value 143",
            "name": "Value 143",
            "name": "Value 144",
            "name": "Value 144",
            "name": "Value 145",
            "name": "Value 145",
            "name": "Value 146",
            "name": "Value 146",
            "name": "Value 147",
            "name": "Value 147",
            "name": "Value 148",
            "name": "Value 148",
            "name": "Value 149",
            "name": "Value 149",
            "name": "Value 150",
            "name": "Value 150",
            "name": "Value 151",
            "name": "Value 151",
            "name": "Value 152",
            "name": "Value 152",
            "name": "Value 153",
            "name": "Value 153",
            "name": "Value 154",
            "name": "Value 154",
            "name": "Value 155",
            "name": "Value 155",
            "name": "Value 156",
            "name": "Value 156",
            "name": "Value 157",
            "name": "Value 157",
            "name": "Value 158",
            "name": "Value 158",
            "name": "Value 159",
            "name": "Value 159",
            "name": "Value 160",
            "name": "Value 160",
            "name": "Value 161",
            "name": "Value 161",
            "name": "Value 162",
            "name": "Value 162",
            "name": "Value 163",
            "name": "Value 163",
            "name": "Value 164",
            "name": "Value 164",
            "name": "Value165 ?",
            "name": "Value 165",
            "name": "Value 166",
            "name": "Value 166",
            "name": "Value 167",
            "name": "Value 167",
            "name": "Value 168",
            "name": "Value 168",
            "name": "Value 169",
            "name": "Value 169",
            "name": "Value 170",
            "name": "Value 170",
            "name": "Value 171",
            "name": "Value 171",
            "name": "Lambdasonde Spannung",
            "name": "Value 172",
            "name": "Value173 ?",
            "name": "Value 173",
            "name": "Value 174",
            "name": "Value 174",
            "name": "Value 175",
            "name": "Value 175",
            "name": "Value 176",
            "name": "Value 176",
            "name": "Value 177",
            "name": "Value 177",
            "name": "Value 178",
            "name": "Value 178",
            "name": "Value 179",
            "name": "Value 179",
            "name": "Value 180",
            "name": "Value 180",
            "name": "Value 181",
            "name": "Value 181",
            "name": "Value 182",
            "name": "Value 182",
            "name": "Value 183",
            "name": "Value 183",
            "name": "Value 184",
            "name": "Value 184",
            "name": "Value 185",
            "name": "Value 185",
            "name": "Value 186",
            "name": "Value 186",
            "name": "Value 187",
            "name": "Value 187",
            "name": "Value 188",
            "name": "Value 188",
            "name": "Value 189",
            "name": "Value 189",
            "name": "Value 190",
            "name": "Value 190",
            "name": "Value 191",
            "name": "Value 191",
            "name": "Value 192",
            "name": "Value 192",
            "name": "Value 193",
            "name": "Value 193",
            "name": "Value 194",
            "name": "Value 194",
            "name": "Value 195",
            "name": "Value 195",
            "name": "Value 196",
            "name": "Value 196",
            "name": "Value 197",
            "name": "Value 197",
            "name": "Value 198",
            "name": "Value 198",
            "name": "Value 199",
            "name": "Value 199",
            "name": "Value 200",
            "name": "Value 200",
            "name": "Value 201",
            "name": "Value 201",
            "name": "Value 202",
            "name": "Value 202",
            "name": "Value 203",
            "name": "Value 203",
            "name": "Value 204",
            "name": "Value 204",
            "name": "Value 205",
            "name": "Value 205",
            "name": "Value 206",
            "name": "Value 206",
            "name": "Value 207",
            "name": "Value 207",
            "name": "Value 208",
            "name": "Value 208",
            "name": "Value 209",
            "name": "Value 209",
            "name": "Value 210",
            "name": "Value 210",
            "name": "Value 211",
            "name": "Value 211",
            "name": "Value 212",
            "name": "Value 212",
            "name": "Value 213",
            "name": "Value 213",
            "name": "Value 214",
            "name": "Value 214",
            "name": "Value 215",
            "name": "Value 215",
            "name": "Value 216",
            "name": "Value 216",
            "name": "Value 217",
            "name": "Value 217",
            "name": "Value 218",
            "name": "Value 218",
            "name": "Value 219",
            "name": "Value 219",
            "name": "Value 220 ?",
            "name": "Value 220",
            "name": "Türe",
            "name": "Value 221",
            "name": "Value 222",
            "name": "Value 222",
            "name": "Value 223",
            "name": "Value 223",
            "name": "Value 224",
            "name": "Value 224",
            "name": "Value 225",
            "name": "Value 225",
            "name": "Value 226",
            "name": "Value 226",
            "name": "Value 227",
            "name": "Value 227",
      

      Der erste "name" ist die Beschreibung was der Wert darstellen sollte. Der zweite "name" ist das Objekt.

      Beispiele:
      "Value 000" ist "HV40 Wassertemperatur"
      ...
      "Value 007" ist "Heizung Vorlauf Ist"
      ...
      "Value 012" ist "Heizung Vorlauf Soll"
      ...

      jpgorganizerJ 1 Antwort Letzte Antwort
      0
      • HogyH Hogy

        @jpgorganizer
        hier die Objekte mit der Beschreibung, wofür ich sie halte.

              "name": "HV40 Wassertemperatur",
              "name": "Value 000",
              "name": "Abgase Ist",
              "name": "Value 001",
              "name": "O² Ist",
              "name": "Value 002",
              "name": "Puffer Oben",
              "name": "Value 003",
              "name": "Puffer Mitte",
              "name": "Value 004",
              "name": "Puffer Unten",
              "name": "Value 005",
              "name": "Außentemperatur",
              "name": "Value 006",
              "name": "Heizung Vorlauf Ist",
              "name": "Value 007",
              "name": "Value 008",
              "name": "Value 008",
              "name": "Value 009",
              "name": "Value 009",
              "name": "Value 010",
              "name": "Value 010",
              "name": "Brauchwasser",
              "name": "Value 011",
              "name": "Heizung Vorlauf Soll",
              "name": "Value 012",
              "name": "Value 013",
              "name": "Value 013",
              "name": "Value 014 ?",
              "name": "Value 014",
              "name": "Value 015",
              "name": "Value 015",
              "name": "Primärluft Soll",
              "name": "Value 016",
              "name": "Primärluft Ist",
              "name": "Value 017",
              "name": "Sekundärluft Soll",
              "name": "Value 018",
              "name": "Sekundärluft Ist",
              "name": "Value 019",
              "name": "Saugzug Ist",
              "name": "Value 020",
              "name": "Value 021",
              "name": "Value 021",
              "name": "Status",
              "name": "Value 022",
              "name": "O² Soll",
              "name": "Value 023",
              "name": "Lambdasonde ?",
              "name": "Value 024",
              "name": "Value 025",
              "name": "Value 025",
              "name": "Saugzug Soll",
              "name": "Value 026",
              "name": "Value 027",
              "name": "Value 027",
              "name": "Value 028",
              "name": "Value 028",
              "name": "Value 029",
              "name": "Value 029",
              "name": "Value 030",
              "name": "Value 030",
              "name": "Value 031",
              "name": "Value 031",
              "name": "Value 032",
              "name": "Value 032",
              "name": "Value 033",
              "name": "Value 033",
              "name": "Value 034",
              "name": "Value 034",
              "name": "Value 035",
              "name": "Value 035",
              "name": "Value 036",
              "name": "Value 036",
              "name": "Value 037",
              "name": "Value 037",
              "name": "Value 038",
              "name": "Value 038",
              "name": "Value 039",
              "name": "Value 039",
              "name": "Value 040",
              "name": "Value 040",
              "name": "Value 041",
              "name": "Value 041",
              "name": "Value 042",
              "name": "Value 042",
              "name": "Value 043",
              "name": "Value 043",
              "name": "Value 044",
              "name": "Value 044",
              "name": "Value 045",
              "name": "Value 045",
              "name": "Leistung",
              "name": "Value 046",
              "name": "Heizungselektronik",
              "name": "Value 047",
              "name": "Boiler Vorlauf Ist",
              "name": "Value 048",
              "name": "Puffer Füllgrad",
              "name": "Value 049",
              "name": "Value 050",
              "name": "Value 050",
              "name": "Value 051",
              "name": "Value 051",
              "name": "Value 052",
              "name": "Value 052",
              "name": "Value 053",
              "name": "Value 053",
              "name": "Value 054",
              "name": "Value 054",
              "name": "Value 055",
              "name": "Value 055",
              "name": "Value 056",
              "name": "Value 056",
              "name": "Ölheizung",
              "name": "Value 057",
              "name": "Boiler Vorlauf Soll",
              "name": "Value 058",
              "name": "Außentemperatur gemittelt",
              "name": "Value 059",
              "name": "Value 060",
              "name": "Value 060",
              "name": "Value 061",
              "name": "Value 061",
              "name": "Value 062",
              "name": "Value 062",
              "name": "Value 063",
              "name": "Value 063",
              "name": "Value 064",
              "name": "Value 064",
              "name": "Value 065",
              "name": "Value 065",
              "name": "Value 066",
              "name": "Value 066",
              "name": "Value 067",
              "name": "Value 067",
              "name": "Value 068",
              "name": "Value 068",
              "name": "Value 069",
              "name": "Value 069",
              "name": "Value 070",
              "name": "Value 070",
              "name": "Value 071",
              "name": "Value 071",
              "name": "Value 072",
              "name": "Value 072",
              "name": "Value 073",
              "name": "Value 073",
              "name": "Value 074",
              "name": "Value 074",
              "name": "Value 075",
              "name": "Value 075",
              "name": "Value 076",
              "name": "Value 076",
              "name": "Value 077",
              "name": "Value 077",
              "name": "Value 078",
              "name": "Value 078",
              "name": "Value 079",
              "name": "Value 079",
              "name": "Value 080",
              "name": "Value 080",
              "name": "Value 081",
              "name": "Value 081",
              "name": "Value 082",
              "name": "Value 082",
              "name": "Value 083",
              "name": "Value 083",
              "name": "Value 084",
              "name": "Value 084",
              "name": "Value 085",
              "name": "Value 085",
              "name": "Value 086",
              "name": "Value 086",
              "name": "Value 087 ?",
              "name": "Value 087",
              "name": "Value 088 ?",
              "name": "Value 088",
              "name": "Value 089",
              "name": "Value 089",
              "name": "Value 090",
              "name": "Value 090",
              "name": "Value 091",
              "name": "Value 091",
              "name": "Value 092 ?",
              "name": "Value 092",
              "name": "Value 093",
              "name": "Value 093",
              "name": "Value 094 ?",
              "name": "Value 094",
              "name": "Value 095",
              "name": "Value 095",
              "name": "Value 096",
              "name": "Value 096",
              "name": "Value 097",
              "name": "Value 097",
              "name": "Value 098",
              "name": "Value 098",
              "name": "Value 099",
              "name": "Value 099",
              "name": "Value 100",
              "name": "Value 100",
              "name": "Value 101",
              "name": "Value 101",
              "name": "Value 102",
              "name": "Value 102",
              "name": "Value 103",
              "name": "Value 103",
              "name": "Value 104",
              "name": "Value 104",
              "name": "Value 105",
              "name": "Value 105",
              "name": "Value 106",
              "name": "Value 106",
              "name": "Value 107",
              "name": "Value 107",
              "name": "Value 108",
              "name": "Value 108",
              "name": "Value 109",
              "name": "Value 109",
              "name": "Value 110",
              "name": "Value 110",
              "name": "Value 111",
              "name": "Value 111",
              "name": "Value 112",
              "name": "Value 112",
              "name": "Value 113",
              "name": "Value 113",
              "name": "Value114 ?",
              "name": "Value 114",
              "name": "Value115 ?",
              "name": "Value 115",
              "name": "Value 116",
              "name": "Value 116",
              "name": "Value 117",
              "name": "Value 117",
              "name": "Value 118",
              "name": "Value 118",
              "name": "Value 119",
              "name": "Value 119",
              "name": "Value 120",
              "name": "Value 120",
              "name": "Value 121",
              "name": "Value 121",
              "name": "Value 122",
              "name": "Value 122",
              "name": "Value 123",
              "name": "Value 123",
              "name": "Value 124",
              "name": "Value 124",
              "name": "Value 125",
              "name": "Value 125",
              "name": "Value 126",
              "name": "Value 126",
              "name": "Value 127",
              "name": "Value 127",
              "name": "Value 128",
              "name": "Value 128",
              "name": "Value 129",
              "name": "Value 129",
              "name": "Value 130",
              "name": "Value 130",
              "name": "Betriebsstunden Steuerung",
              "name": "Value 131",
              "name": "Betriebsstunden Heizung",
              "name": "Value 132",
              "name": "Betriebsstunden Leistungsbrand",
              "name": "Value 133",
              "name": "Value 134 ?",
              "name": "Value 134",
              "name": "Betriebsstunden Zündung",
              "name": "Value 135",
              "name": "Betriebsstunden Saugzug",
              "name": "Value 136",
              "name": "Value 137",
              "name": "Value 137",
              "name": "Value 138",
              "name": "Value 138",
              "name": "Value139 ?",
              "name": "Value 139",
              "name": "Value 140",
              "name": "Value 140",
              "name": "Value 141",
              "name": "Value 141",
              "name": "Value 142 ?",
              "name": "Value 142",
              "name": "Value 143",
              "name": "Value 143",
              "name": "Value 144",
              "name": "Value 144",
              "name": "Value 145",
              "name": "Value 145",
              "name": "Value 146",
              "name": "Value 146",
              "name": "Value 147",
              "name": "Value 147",
              "name": "Value 148",
              "name": "Value 148",
              "name": "Value 149",
              "name": "Value 149",
              "name": "Value 150",
              "name": "Value 150",
              "name": "Value 151",
              "name": "Value 151",
              "name": "Value 152",
              "name": "Value 152",
              "name": "Value 153",
              "name": "Value 153",
              "name": "Value 154",
              "name": "Value 154",
              "name": "Value 155",
              "name": "Value 155",
              "name": "Value 156",
              "name": "Value 156",
              "name": "Value 157",
              "name": "Value 157",
              "name": "Value 158",
              "name": "Value 158",
              "name": "Value 159",
              "name": "Value 159",
              "name": "Value 160",
              "name": "Value 160",
              "name": "Value 161",
              "name": "Value 161",
              "name": "Value 162",
              "name": "Value 162",
              "name": "Value 163",
              "name": "Value 163",
              "name": "Value 164",
              "name": "Value 164",
              "name": "Value165 ?",
              "name": "Value 165",
              "name": "Value 166",
              "name": "Value 166",
              "name": "Value 167",
              "name": "Value 167",
              "name": "Value 168",
              "name": "Value 168",
              "name": "Value 169",
              "name": "Value 169",
              "name": "Value 170",
              "name": "Value 170",
              "name": "Value 171",
              "name": "Value 171",
              "name": "Lambdasonde Spannung",
              "name": "Value 172",
              "name": "Value173 ?",
              "name": "Value 173",
              "name": "Value 174",
              "name": "Value 174",
              "name": "Value 175",
              "name": "Value 175",
              "name": "Value 176",
              "name": "Value 176",
              "name": "Value 177",
              "name": "Value 177",
              "name": "Value 178",
              "name": "Value 178",
              "name": "Value 179",
              "name": "Value 179",
              "name": "Value 180",
              "name": "Value 180",
              "name": "Value 181",
              "name": "Value 181",
              "name": "Value 182",
              "name": "Value 182",
              "name": "Value 183",
              "name": "Value 183",
              "name": "Value 184",
              "name": "Value 184",
              "name": "Value 185",
              "name": "Value 185",
              "name": "Value 186",
              "name": "Value 186",
              "name": "Value 187",
              "name": "Value 187",
              "name": "Value 188",
              "name": "Value 188",
              "name": "Value 189",
              "name": "Value 189",
              "name": "Value 190",
              "name": "Value 190",
              "name": "Value 191",
              "name": "Value 191",
              "name": "Value 192",
              "name": "Value 192",
              "name": "Value 193",
              "name": "Value 193",
              "name": "Value 194",
              "name": "Value 194",
              "name": "Value 195",
              "name": "Value 195",
              "name": "Value 196",
              "name": "Value 196",
              "name": "Value 197",
              "name": "Value 197",
              "name": "Value 198",
              "name": "Value 198",
              "name": "Value 199",
              "name": "Value 199",
              "name": "Value 200",
              "name": "Value 200",
              "name": "Value 201",
              "name": "Value 201",
              "name": "Value 202",
              "name": "Value 202",
              "name": "Value 203",
              "name": "Value 203",
              "name": "Value 204",
              "name": "Value 204",
              "name": "Value 205",
              "name": "Value 205",
              "name": "Value 206",
              "name": "Value 206",
              "name": "Value 207",
              "name": "Value 207",
              "name": "Value 208",
              "name": "Value 208",
              "name": "Value 209",
              "name": "Value 209",
              "name": "Value 210",
              "name": "Value 210",
              "name": "Value 211",
              "name": "Value 211",
              "name": "Value 212",
              "name": "Value 212",
              "name": "Value 213",
              "name": "Value 213",
              "name": "Value 214",
              "name": "Value 214",
              "name": "Value 215",
              "name": "Value 215",
              "name": "Value 216",
              "name": "Value 216",
              "name": "Value 217",
              "name": "Value 217",
              "name": "Value 218",
              "name": "Value 218",
              "name": "Value 219",
              "name": "Value 219",
              "name": "Value 220 ?",
              "name": "Value 220",
              "name": "Türe",
              "name": "Value 221",
              "name": "Value 222",
              "name": "Value 222",
              "name": "Value 223",
              "name": "Value 223",
              "name": "Value 224",
              "name": "Value 224",
              "name": "Value 225",
              "name": "Value 225",
              "name": "Value 226",
              "name": "Value 226",
              "name": "Value 227",
              "name": "Value 227",
        

        Der erste "name" ist die Beschreibung was der Wert darstellen sollte. Der zweite "name" ist das Objekt.

        Beispiele:
        "Value 000" ist "HV40 Wassertemperatur"
        ...
        "Value 007" ist "Heizung Vorlauf Ist"
        ...
        "Value 012" ist "Heizung Vorlauf Soll"
        ...

        jpgorganizerJ Offline
        jpgorganizerJ Offline
        jpgorganizer
        schrieb am zuletzt editiert von
        #19

        @Hogy Danke, ich werde das mal vergleichen mit meinen Daten.
        Da die Heizung aber aktuell nicht mehr läuft - es ist Sommer :-) - muss ich mal schauen wie ich das mache

        Grüße
        jpgorganizer

        Bitte keine Fragen per PN, die gehören ins Forum!

        ioBroker
        smartgarden Adapter für GARDENA smart system
        Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

        1 Antwort Letzte Antwort
        0
        • HogyH Offline
          HogyH Offline
          Hogy
          schrieb am zuletzt editiert von
          #20

          @jpgorganizer
          würde mich sehr freuen, wenn du deine Erkenntnisse teilen würdest. Solltest du weitere Wertzuordnungen finden, dann lass es mich bitte wissen.
          Hast du auch eine HV40 oder ist das eine Andere? Wenn eine Andere... welche?

          Grüße, Hogy

          jpgorganizerJ 1 Antwort Letzte Antwort
          0
          • HogyH Hogy

            @jpgorganizer
            würde mich sehr freuen, wenn du deine Erkenntnisse teilen würdest. Solltest du weitere Wertzuordnungen finden, dann lass es mich bitte wissen.
            Hast du auch eine HV40 oder ist das eine Andere? Wenn eine Andere... welche?

            Grüße, Hogy

            jpgorganizerJ Offline
            jpgorganizerJ Offline
            jpgorganizer
            schrieb am zuletzt editiert von
            #21

            @Hogy sagte in Hargassner HV40 Daten über telnet abgreifen:

            Hast du auch eine HV40 oder ist das eine Andere? Wenn eine Andere... welche?

            Ich habe eine Pelletheizung Nano

            Und sei unbesorgt, ich teile meine Erkenntnisse

            VG
            jpgorganizer

            Bitte keine Fragen per PN, die gehören ins Forum!

            ioBroker
            smartgarden Adapter für GARDENA smart system
            Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

            A 1 Antwort Letzte Antwort
            0
            • jpgorganizerJ jpgorganizer

              @Hogy sagte in Hargassner HV40 Daten über telnet abgreifen:

              Hast du auch eine HV40 oder ist das eine Andere? Wenn eine Andere... welche?

              Ich habe eine Pelletheizung Nano

              Und sei unbesorgt, ich teile meine Erkenntnisse

              VG
              jpgorganizer

              A Offline
              A Offline
              acidsubway
              schrieb am zuletzt editiert von
              #22

              @jpgorganizer ich habe auch einen Nano.

              @SBorg ich gebe dir Recht, je einfacher deste besser.
              aber ein Adapter wäre echt hilfreich, weil ich nach lannger zeit aus dem TelNET net schlau geworden bin, Stundenlange beobachtung meines Kessels.
              Wenn jemand den Hargassner Gateway hat, ist es einfacher. Da man direkt auf das WEBIF von Hargassner die Werte verändern könnte, ohne TelNet Rätseln.

              hier meine Erkenntnisse:

              	
              0	"pm"
              1	"1"		Kessel 1=AUS, 7=Leistungsbrand, 5=Brauchwasser WW ?
              2	"21.0"	O² IST	
              3	"7.5"	O² SOLL
              4	"65"	Kessel IST Temperatur
              5	"0"		Kessel SOLL Temperatur
              6	"77"	Kessel Abgastemperatur
              7	"0"
              8	"0.0"	Saugzug IST
              9	"0"
              10	"0.0"	Fördermenge
              11	"0"
              12	"0"
              13	"0"
              14	"0"
              15	"0"
              16	"2"		Außentemperatur
              17	"1"		Außentemperatur GEMITTELT
              18	"60"
              19	"-20.0"
              20	"-20"
              21	"-20.0"
              22	"37"	Puffer/Boiler Temperatur UNTEN
              23	"60"	Puffer/Boiler Temperatur MITTE
              24	"63"	Rücklaufanhebung SOLL
              25	"35"	Rücklaufanhebung IST
              26	"34"	
              27	"118.6"
              28	"84.3"
              29	"78"
              30	"73"
              31	"0"
              32	"0"
              33	"55136"
              34	"0"		Laufzeit Einschub seit Entaschung		
              35	"1"
              36	"1246"	Selbst Reinigung Anzahl der Bewegungen
              37	"7.98"
              38	"13.13"
              39	"609"
              40	"-7"
              41	"2"
              42	"0"
              43	"92"	Befüllgrad Puffer
              44	"100.0"
              45	"13.0"
              46	"0.0"
              47	"0"
              48	"4058"	Pelletverbrauch
              49	"1"
              50	"0"
              51	"-20"
              52	"0"
              53	"20.0"
              54	"20"
              55	"0"
              56	"1"
              57	"45"	HK1 Vorlauf IST
              58	"34"	HK1 Vorlauf SOLL
              59	"20.0"
              60	"22"
              61	"1"		HK1 1 AN, 4 Nachtabsenkung oder Aus ?
              62	"1"
              63	"24"	HK2 Vorlauf IST
              64	"0"		HK2 Vorlauf SOLL
              65	"20.0"
              66	"22"
              67	"4"		HK2 1 AN, 4 Nachtabsenkung oder Aus ?
              68	"1"
              69	"-20"
              70	"0"
              71	"20.0"
              72	"20"
              73	"0"
              74	"1"
              75	"-20"
              76	"0"
              77	"20.0"
              78	"20"
              79	"0"
              80	"1"
              81	"-20"
              82	"0"
              83	"20.0"
              84	"20"
              85	"0"
              86	"1"
              87	"-20"
              88	"0"
              89	"20.0"
              90	"20"
              91	"0"
              92	"1"
              93	"-20"
              94	"0"
              95	"0"
              96	"66"	Puffer/Boiler Temperatur OBEN
              97	"0"		Geforderte Temperatur Puffer WW
              98	"0"		BW Anforderung 1= AN,0= AUS
              99	"-20"
              100	"0"
              101	"0"
              102	"-20"
              103	"0"
              104	"0"
              105	"0"
              106	"0"
              107	"0"
              108	"34"
              109	"0"
              110	"0"
              111	"0"
              112	"0"
              113	"0"
              114	"0"
              115	"0"
              116	"0"
              117	"0"
              118	"0"
              119	"0"
              120	"0"
              121	"0"
              122	"0"
              123	"0"
              124	"0"
              125	"0"
              126	"0"
              127	"0"
              128	"0"
              129	"0"
              130	"0"
              131	"0"
              132	"0"
              133	"-20.0"
              134	"-20.0"
              135	"-20.0"
              136	"-20.0"
              137	"-1.0"
              138	"-1.0"
              139	"-1.0"
              140	"-1.0"
              141	"-1.0"
              142	"-1.0"
              143	"-1.0"
              144	"-1.0"
              145	"-1.0"
              146	"-1.0"
              147	"-1.0"
              148	"-1.0"
              149	"-1.0"
              150	"-1.0"
              151	"-1.0"
              152	"-1.0"
              153	"-1.0"
              154	"-1.0"
              155	"-1.0"
              156	"-1.0"
              157	"-1.0"
              158	"-1.0"
              159	"-1.0"
              160	"-1.0"
              161	"028B"
              162	"0001"
              163	"0000"
              164	"0000"
              165	"4000"
              166	"0160"
              167	"0000"
              168	"0000"
              169	"\r\n"
              
              G 1 Antwort Letzte Antwort
              0
              • A acidsubway

                @jpgorganizer ich habe auch einen Nano.

                @SBorg ich gebe dir Recht, je einfacher deste besser.
                aber ein Adapter wäre echt hilfreich, weil ich nach lannger zeit aus dem TelNET net schlau geworden bin, Stundenlange beobachtung meines Kessels.
                Wenn jemand den Hargassner Gateway hat, ist es einfacher. Da man direkt auf das WEBIF von Hargassner die Werte verändern könnte, ohne TelNet Rätseln.

                hier meine Erkenntnisse:

                	
                0	"pm"
                1	"1"		Kessel 1=AUS, 7=Leistungsbrand, 5=Brauchwasser WW ?
                2	"21.0"	O² IST	
                3	"7.5"	O² SOLL
                4	"65"	Kessel IST Temperatur
                5	"0"		Kessel SOLL Temperatur
                6	"77"	Kessel Abgastemperatur
                7	"0"
                8	"0.0"	Saugzug IST
                9	"0"
                10	"0.0"	Fördermenge
                11	"0"
                12	"0"
                13	"0"
                14	"0"
                15	"0"
                16	"2"		Außentemperatur
                17	"1"		Außentemperatur GEMITTELT
                18	"60"
                19	"-20.0"
                20	"-20"
                21	"-20.0"
                22	"37"	Puffer/Boiler Temperatur UNTEN
                23	"60"	Puffer/Boiler Temperatur MITTE
                24	"63"	Rücklaufanhebung SOLL
                25	"35"	Rücklaufanhebung IST
                26	"34"	
                27	"118.6"
                28	"84.3"
                29	"78"
                30	"73"
                31	"0"
                32	"0"
                33	"55136"
                34	"0"		Laufzeit Einschub seit Entaschung		
                35	"1"
                36	"1246"	Selbst Reinigung Anzahl der Bewegungen
                37	"7.98"
                38	"13.13"
                39	"609"
                40	"-7"
                41	"2"
                42	"0"
                43	"92"	Befüllgrad Puffer
                44	"100.0"
                45	"13.0"
                46	"0.0"
                47	"0"
                48	"4058"	Pelletverbrauch
                49	"1"
                50	"0"
                51	"-20"
                52	"0"
                53	"20.0"
                54	"20"
                55	"0"
                56	"1"
                57	"45"	HK1 Vorlauf IST
                58	"34"	HK1 Vorlauf SOLL
                59	"20.0"
                60	"22"
                61	"1"		HK1 1 AN, 4 Nachtabsenkung oder Aus ?
                62	"1"
                63	"24"	HK2 Vorlauf IST
                64	"0"		HK2 Vorlauf SOLL
                65	"20.0"
                66	"22"
                67	"4"		HK2 1 AN, 4 Nachtabsenkung oder Aus ?
                68	"1"
                69	"-20"
                70	"0"
                71	"20.0"
                72	"20"
                73	"0"
                74	"1"
                75	"-20"
                76	"0"
                77	"20.0"
                78	"20"
                79	"0"
                80	"1"
                81	"-20"
                82	"0"
                83	"20.0"
                84	"20"
                85	"0"
                86	"1"
                87	"-20"
                88	"0"
                89	"20.0"
                90	"20"
                91	"0"
                92	"1"
                93	"-20"
                94	"0"
                95	"0"
                96	"66"	Puffer/Boiler Temperatur OBEN
                97	"0"		Geforderte Temperatur Puffer WW
                98	"0"		BW Anforderung 1= AN,0= AUS
                99	"-20"
                100	"0"
                101	"0"
                102	"-20"
                103	"0"
                104	"0"
                105	"0"
                106	"0"
                107	"0"
                108	"34"
                109	"0"
                110	"0"
                111	"0"
                112	"0"
                113	"0"
                114	"0"
                115	"0"
                116	"0"
                117	"0"
                118	"0"
                119	"0"
                120	"0"
                121	"0"
                122	"0"
                123	"0"
                124	"0"
                125	"0"
                126	"0"
                127	"0"
                128	"0"
                129	"0"
                130	"0"
                131	"0"
                132	"0"
                133	"-20.0"
                134	"-20.0"
                135	"-20.0"
                136	"-20.0"
                137	"-1.0"
                138	"-1.0"
                139	"-1.0"
                140	"-1.0"
                141	"-1.0"
                142	"-1.0"
                143	"-1.0"
                144	"-1.0"
                145	"-1.0"
                146	"-1.0"
                147	"-1.0"
                148	"-1.0"
                149	"-1.0"
                150	"-1.0"
                151	"-1.0"
                152	"-1.0"
                153	"-1.0"
                154	"-1.0"
                155	"-1.0"
                156	"-1.0"
                157	"-1.0"
                158	"-1.0"
                159	"-1.0"
                160	"-1.0"
                161	"028B"
                162	"0001"
                163	"0000"
                164	"0000"
                165	"4000"
                166	"0160"
                167	"0000"
                168	"0000"
                169	"\r\n"
                
                G Offline
                G Offline
                göschi
                schrieb am zuletzt editiert von
                #23

                @Hogy
                Hallo, Ich habe einen HV20. Ich nehme an, das die daten ähnlich sind. Welches Modul bzw. welche Erweiterugn wird für die Steuerung des HV benötigt oder geht das direkt über den RJ45 Stecker? Danke mal.

                HogyH 1 Antwort Letzte Antwort
                0
                • G göschi

                  @Hogy
                  Hallo, Ich habe einen HV20. Ich nehme an, das die daten ähnlich sind. Welches Modul bzw. welche Erweiterugn wird für die Steuerung des HV benötigt oder geht das direkt über den RJ45 Stecker? Danke mal.

                  HogyH Offline
                  HogyH Offline
                  Hogy
                  schrieb am zuletzt editiert von
                  #24

                  @göschi
                  Ich nehme an, dass es beim HV20 die gleiche Steuerung ist, wie beim HV40.
                  Meine Steuerung hat an dem Display innenliegend noch einen eigenen RJ45 Anschluss. Den habe ich verwendet.
                  Dann noch die IP fest definieren und fertig sind die Vorbereitungen von Seitens Heizung.

                  Bezüglich der Kanalbelegung... Ich konnte diese an der Heizung auf eine SD-Karte schreiben. Hier die Datei wie sie 1:1 von der Heizung kommt.
                  DAQ00140.txt

                  Grüße, Hogy

                  R 1 Antwort Letzte Antwort
                  0
                  • HogyH Hogy

                    @göschi
                    Ich nehme an, dass es beim HV20 die gleiche Steuerung ist, wie beim HV40.
                    Meine Steuerung hat an dem Display innenliegend noch einen eigenen RJ45 Anschluss. Den habe ich verwendet.
                    Dann noch die IP fest definieren und fertig sind die Vorbereitungen von Seitens Heizung.

                    Bezüglich der Kanalbelegung... Ich konnte diese an der Heizung auf eine SD-Karte schreiben. Hier die Datei wie sie 1:1 von der Heizung kommt.
                    DAQ00140.txt

                    Grüße, Hogy

                    R Offline
                    R Offline
                    Riddy64
                    schrieb am zuletzt editiert von
                    #25

                    @hogy

                    Hallo zusammen,

                    ich hab das ganze schon mal gemacht, erstellt aber nur ne Datei zum Logging im csv Format die dann mit gnuplot zur pdf gemacht wird. die Zuordnung der einzelnen Werte stammt aus dem Microkontroller Net.
                    https://www.mikrocontroller.net/topic/134331?page=single
                    mein Eintag ist vom 16.12.2017 10:11
                    da hängt auch mein script als Datei dran allerdings ohne Gnupot

                    Gruß Karsten

                    M 1 Antwort Letzte Antwort
                    0
                    • R Riddy64

                      @hogy

                      Hallo zusammen,

                      ich hab das ganze schon mal gemacht, erstellt aber nur ne Datei zum Logging im csv Format die dann mit gnuplot zur pdf gemacht wird. die Zuordnung der einzelnen Werte stammt aus dem Microkontroller Net.
                      https://www.mikrocontroller.net/topic/134331?page=single
                      mein Eintag ist vom 16.12.2017 10:11
                      da hängt auch mein script als Datei dran allerdings ohne Gnupot

                      Gruß Karsten

                      M Offline
                      M Offline
                      Mike.G.
                      schrieb am zuletzt editiert von
                      #26

                      Hallo,

                      ich weiß nicht ob das hier noch jemand liest. Aber ich hab doch eine Frage zu dem ganzen.
                      Ich besitze einen HV30 mit Internet Gateway. Wird das darüber realisiert, oder über einen direkten Netzwerkanschluss

                      Gruß Mike

                      SBorgS 1 Antwort Letzte Antwort
                      0
                      • M Mike.G.

                        Hallo,

                        ich weiß nicht ob das hier noch jemand liest. Aber ich hab doch eine Frage zu dem ganzen.
                        Ich besitze einen HV30 mit Internet Gateway. Wird das darüber realisiert, oder über einen direkten Netzwerkanschluss

                        Gruß Mike

                        SBorgS Offline
                        SBorgS Offline
                        SBorg
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #27

                        @mike-g

                        @hogy sagte in Hargassner HV40 Daten über telnet abgreifen:

                        Meine Steuerung hat an dem Display innenliegend noch einen eigenen RJ45 Anschluss. Den habe ich verwendet.

                        ...und da das Skript von mir stammt: ich greife die Daten im Netzwerk ab. Das Skript ist ein WEB-Server der auf den Datenverkehr einer bestimmten IP (=die Heizung/Steuerung) im Netzwerk lauscht, die Daten aufbereitet und an den ioB schickt :)

                        LG SBorg ( SBorg auf GitHub)
                        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                        M G 2 Antworten Letzte Antwort
                        0
                        • SBorgS SBorg

                          @mike-g

                          @hogy sagte in Hargassner HV40 Daten über telnet abgreifen:

                          Meine Steuerung hat an dem Display innenliegend noch einen eigenen RJ45 Anschluss. Den habe ich verwendet.

                          ...und da das Skript von mir stammt: ich greife die Daten im Netzwerk ab. Das Skript ist ein WEB-Server der auf den Datenverkehr einer bestimmten IP (=die Heizung/Steuerung) im Netzwerk lauscht, die Daten aufbereitet und an den ioB schickt :)

                          M Offline
                          M Offline
                          Mike.G.
                          schrieb am zuletzt editiert von
                          #28

                          @sborg

                          Danke für die Info. Das werde ich die Tage mal ausprobieren

                          1 Antwort Letzte Antwort
                          0
                          • SBorgS SBorg

                            @mike-g

                            @hogy sagte in Hargassner HV40 Daten über telnet abgreifen:

                            Meine Steuerung hat an dem Display innenliegend noch einen eigenen RJ45 Anschluss. Den habe ich verwendet.

                            ...und da das Skript von mir stammt: ich greife die Daten im Netzwerk ab. Das Skript ist ein WEB-Server der auf den Datenverkehr einer bestimmten IP (=die Heizung/Steuerung) im Netzwerk lauscht, die Daten aufbereitet und an den ioB schickt :)

                            G Offline
                            G Offline
                            gerha
                            schrieb am zuletzt editiert von
                            #29

                            Hallo,
                            ich habe auch eine Hargassner mit Nano-pk-Steuerung, welche ich mit Hilfe von reinen JS-Skripten auslese.
                            Der iobroker muss dazu per IP und Port 23 (Telnet) auf die Nano-pk zugreifen können.

                            Zusätzlich sollte einmal auf einer SD-Karte an der Nano-pk ein Log erstellt werden. Auf der SD-Karte sollte sich danach im Verzeichnis "DAQ" die Log-Datei "DAQ00000.DAQ" (oder ähnlich) liegen. Aus dieser Log-Datei kopieren wir den XML-Code "<DAQPRJ><ANALOG><CHAN [...] /></DIGITAL></DAQPRJ>", da wir ihn im folgenden Skript benötigen

                            Auf dem iobroker führen wir nun das folgende JS-Skript zum Erstellen der States einmal aus:

                            //get XML-Code from Hargassner heater (use SD card)
                            var nanopk = `<DAQPRJ><ANALOG>
                            <CHANNEL id='0' name='ZK' unit=''/>
                            <CHANNEL id='1' name='O2' unit='%'/>
                            <CHANNEL id='2' name='O2soll' unit='%'/>
                            <CHANNEL id='3' name='TK' unit='°C'/>
                            ...
                            <CHANNEL id='7' bit='21' name='DReg3 P3'/>
                            <CHANNEL id='7' bit='22' name='DReg3 Mi auf'/>
                            <CHANNEL id='7' bit='23' name='DReg3 Mi zu'/>
                            </DIGITAL></DAQPRJ>`;
                            
                            let DP="javascript.0.Hargassner" // object-id
                            
                            var xml2js = require('xml2js');  // please activate npm-module
                            var parser = new xml2js.Parser();
                            
                            // translate XML data into states
                            parser.parseString(nanopk, (err, result) => {
                               if (err) {
                                   console.error(err);
                                   return;
                               }
                               // analog channels
                               const channelsA = result.DAQPRJ.ANALOG[0].CHANNEL;
                               channelsA.forEach(channel => {
                                   const id = channel.$.id;
                                   const bit = channel.$.bit;
                                   const name = channel.$.name;
                                   const unit = channel.$.unit;
                                   console.log(`Channel ID: ${id}, Bit: ${bit}, Name: ${name}`);
                                   createState(DP+".analog."+("00" + id).slice(-3),"",{name: name, type: "number", role: "state", unit: unit, read: true, write: false});
                               });
                            
                               // digital channels
                               const channelsD = result.DAQPRJ.DIGITAL[0].CHANNEL;
                                   channelsD.forEach(channel => {
                                   const id = channel.$.id;
                                   const bit = channel.$.bit;
                                   const name = channel.$.name;
                                   console.log(`Channel ID: ${id}, Bit: ${bit}, Name: ${name}`);
                                   createState(DP+".digital."+("00" + id).slice(-3)+"."+("0" + bit).slice(-2),"",{name: name, type: "boolean", role: "state", read: true, write: false});
                               });
                            });
                            

                            Den XML-Code habe ich der Übersicht wegen gekürzt. Da es verschiedene Nano-pk-Steuerungen mit wiederum verschiedenen Firmwares gibt, empfehle ich sehr den XML-Code immer selber zu erstellen.
                            Die Objekt-ID unter welcher die ganzen States erstellt werden, kann im Skript geändert werden.
                            Das NPM-Modul xml2js muss in der javascript-Instanz noch aktiviert werden.

                            Danach das folgende Skript aktivieren:

                            let DP = "javascript.0.Hargassner"; // object-id
                            let ip = '192.168.0.99';  // ip of Nano-pk
                            let port = 23;  // port of Nano-pk (Telnet)
                            
                            var net = require('net');  // please activate npm-module
                            
                            // run script every 5 sec
                            schedule("*/5 * * * * *", function () {
                                
                                // connect to Nano-pk
                                var client = new net.Socket();
                                client.connect(port, ip, function() {
                                    console.debug('Connected');
                                });
                            
                                // get data
                                client.on('data', function(data) {
                                    const values = data.subarray(3,-3).toString('utf8').split(" "); // split received values into array
                                    console.debug('Received: ' + values);
                                    client.destroy(); // kill client after server's response
                                    
                                    // set analog states
                                    let DPA = `${DP}.analog.`;
                                    const idAna = $(`state[id=${DPA}*]`);
                                    const valAna = values.slice(0, idAna.length);
                            
                                    idAna.each( function( id, i){
                                        const idSub = id.substring(DPA.length);
                                        const ch = Number(idSub.substring(0,3));
                                        setState(id, Number(valAna[ch]), true);
                                        console.debug(id+`: `+ valAna[i]);
                                    });
                            
                                    // set digital states
                                    let DPD = `${DP}.digital.`;
                                    const idDig = $(`state[id=${DPD}*]`);
                                    const valDig = values.slice(idAna.length);
                            
                                    idDig.each( function( id, i){
                                        const idSub = id.substring(DPD.length);
                                        const ch = Number(idSub.substring(0,3));
                                        const bit = Number(idSub.substring(4));
                                        const bits = parseInt(valDig[ch],16);
                                        const bitMask = 1 << bit;
                                        const value = ((bits & bitMask) > 0);
                                        setState(id, value, true);
                                        console.debug(id+`: `+ value);
                                    });
                                });
                            
                                // Closed connection
                                client.on('close', function() {
                                    console.debug('Closed connection');
                                });
                            });
                            

                            Die Objekt-ID sollte hier die gleiche sein, wie im ersten Skript.
                            Dann noch die IP (und ggf. bei Bedarf den Port) ändern.
                            Für dieses Skript noch das NPM-Modul net aktivieren.
                            Der Scheduler sorgt in diesem Fall dafür, dass der Code alle 5 Sekunden ausgeführt wird und das Skript entsprechend die Werte bei der Nano-pk holt und in die Objekte schreibt.

                            Und sobald das zweite Skript läuft, sollten die Werte einlaufen:
                            Unbenannt.png

                            A 1 Antwort Letzte Antwort
                            -1
                            • G gerha

                              Hallo,
                              ich habe auch eine Hargassner mit Nano-pk-Steuerung, welche ich mit Hilfe von reinen JS-Skripten auslese.
                              Der iobroker muss dazu per IP und Port 23 (Telnet) auf die Nano-pk zugreifen können.

                              Zusätzlich sollte einmal auf einer SD-Karte an der Nano-pk ein Log erstellt werden. Auf der SD-Karte sollte sich danach im Verzeichnis "DAQ" die Log-Datei "DAQ00000.DAQ" (oder ähnlich) liegen. Aus dieser Log-Datei kopieren wir den XML-Code "<DAQPRJ><ANALOG><CHAN [...] /></DIGITAL></DAQPRJ>", da wir ihn im folgenden Skript benötigen

                              Auf dem iobroker führen wir nun das folgende JS-Skript zum Erstellen der States einmal aus:

                              //get XML-Code from Hargassner heater (use SD card)
                              var nanopk = `<DAQPRJ><ANALOG>
                              <CHANNEL id='0' name='ZK' unit=''/>
                              <CHANNEL id='1' name='O2' unit='%'/>
                              <CHANNEL id='2' name='O2soll' unit='%'/>
                              <CHANNEL id='3' name='TK' unit='°C'/>
                              ...
                              <CHANNEL id='7' bit='21' name='DReg3 P3'/>
                              <CHANNEL id='7' bit='22' name='DReg3 Mi auf'/>
                              <CHANNEL id='7' bit='23' name='DReg3 Mi zu'/>
                              </DIGITAL></DAQPRJ>`;
                              
                              let DP="javascript.0.Hargassner" // object-id
                              
                              var xml2js = require('xml2js');  // please activate npm-module
                              var parser = new xml2js.Parser();
                              
                              // translate XML data into states
                              parser.parseString(nanopk, (err, result) => {
                                 if (err) {
                                     console.error(err);
                                     return;
                                 }
                                 // analog channels
                                 const channelsA = result.DAQPRJ.ANALOG[0].CHANNEL;
                                 channelsA.forEach(channel => {
                                     const id = channel.$.id;
                                     const bit = channel.$.bit;
                                     const name = channel.$.name;
                                     const unit = channel.$.unit;
                                     console.log(`Channel ID: ${id}, Bit: ${bit}, Name: ${name}`);
                                     createState(DP+".analog."+("00" + id).slice(-3),"",{name: name, type: "number", role: "state", unit: unit, read: true, write: false});
                                 });
                              
                                 // digital channels
                                 const channelsD = result.DAQPRJ.DIGITAL[0].CHANNEL;
                                     channelsD.forEach(channel => {
                                     const id = channel.$.id;
                                     const bit = channel.$.bit;
                                     const name = channel.$.name;
                                     console.log(`Channel ID: ${id}, Bit: ${bit}, Name: ${name}`);
                                     createState(DP+".digital."+("00" + id).slice(-3)+"."+("0" + bit).slice(-2),"",{name: name, type: "boolean", role: "state", read: true, write: false});
                                 });
                              });
                              

                              Den XML-Code habe ich der Übersicht wegen gekürzt. Da es verschiedene Nano-pk-Steuerungen mit wiederum verschiedenen Firmwares gibt, empfehle ich sehr den XML-Code immer selber zu erstellen.
                              Die Objekt-ID unter welcher die ganzen States erstellt werden, kann im Skript geändert werden.
                              Das NPM-Modul xml2js muss in der javascript-Instanz noch aktiviert werden.

                              Danach das folgende Skript aktivieren:

                              let DP = "javascript.0.Hargassner"; // object-id
                              let ip = '192.168.0.99';  // ip of Nano-pk
                              let port = 23;  // port of Nano-pk (Telnet)
                              
                              var net = require('net');  // please activate npm-module
                              
                              // run script every 5 sec
                              schedule("*/5 * * * * *", function () {
                                  
                                  // connect to Nano-pk
                                  var client = new net.Socket();
                                  client.connect(port, ip, function() {
                                      console.debug('Connected');
                                  });
                              
                                  // get data
                                  client.on('data', function(data) {
                                      const values = data.subarray(3,-3).toString('utf8').split(" "); // split received values into array
                                      console.debug('Received: ' + values);
                                      client.destroy(); // kill client after server's response
                                      
                                      // set analog states
                                      let DPA = `${DP}.analog.`;
                                      const idAna = $(`state[id=${DPA}*]`);
                                      const valAna = values.slice(0, idAna.length);
                              
                                      idAna.each( function( id, i){
                                          const idSub = id.substring(DPA.length);
                                          const ch = Number(idSub.substring(0,3));
                                          setState(id, Number(valAna[ch]), true);
                                          console.debug(id+`: `+ valAna[i]);
                                      });
                              
                                      // set digital states
                                      let DPD = `${DP}.digital.`;
                                      const idDig = $(`state[id=${DPD}*]`);
                                      const valDig = values.slice(idAna.length);
                              
                                      idDig.each( function( id, i){
                                          const idSub = id.substring(DPD.length);
                                          const ch = Number(idSub.substring(0,3));
                                          const bit = Number(idSub.substring(4));
                                          const bits = parseInt(valDig[ch],16);
                                          const bitMask = 1 << bit;
                                          const value = ((bits & bitMask) > 0);
                                          setState(id, value, true);
                                          console.debug(id+`: `+ value);
                                      });
                                  });
                              
                                  // Closed connection
                                  client.on('close', function() {
                                      console.debug('Closed connection');
                                  });
                              });
                              

                              Die Objekt-ID sollte hier die gleiche sein, wie im ersten Skript.
                              Dann noch die IP (und ggf. bei Bedarf den Port) ändern.
                              Für dieses Skript noch das NPM-Modul net aktivieren.
                              Der Scheduler sorgt in diesem Fall dafür, dass der Code alle 5 Sekunden ausgeführt wird und das Skript entsprechend die Werte bei der Nano-pk holt und in die Objekte schreibt.

                              Und sobald das zweite Skript läuft, sollten die Werte einlaufen:
                              Unbenannt.png

                              A Offline
                              A Offline
                              acidsubway
                              schrieb am zuletzt editiert von
                              #30

                              @gerha

                              Ich habe ja die Modbuskarte von Harrgassner in meinem Nano PK, die hatte immerhin 380€ gekostet.
                              Muss aber sagen das ist diese nicht Wert da viele dinge nicht gehen.
                              Das ist meine Modbus File, hier gehen nur die alternative Adressen.

                              MODBUS.CSV

                              Meine Frage wäre, ist es möglich mit deinem Script die Adresse

                              KNX Raumtemp HK1 Vorgabe Raumtemp. HK1 DAQ-ANA lesen/schreiben 11002 11003 °C
                              lesen und zu schreiben?

                              Ich will meinem Kessel nur die Raumtemperatur ohne Raumfüher mitteilen, laut Harrgassner soll das dort funktionieren.

                              MfG

                              1 Antwort Letzte Antwort
                              0
                              • SBorgS SBorg

                                @Hogy Sieht so aus :sunglasses:
                                Bild 1.png

                                Wirst aber "enttäuscht" sein wenn du siehst wie wenig Programmcode das tatsächlich ist.

                                Zuerst ioBroker:

                                • Simple-RESTful-Adapter installieren (keine Einstellungen notwendig)
                                • neues Javascript "Typ Javascript" anlegen, Name und Ordner beliebig

                                Dort mittels C&P einfügen:

                                //Datenobjekte Hargassner anlegen
                                 let DP="javascript.0.HV40.value"
                                 let ANZ=228
                                
                                 for(let i=0; i<ANZ; i++) {
                                     createState(DP+("00" + i).slice(-3),"",{name: "Value "+("00" + i).slice(-3), type: "number", role: "state"});  
                                 }
                                

                                GGf. #2 anpassen, "javascript.x" muss, HV40 wäre der Ordner, value dann der Datenpunkt (siehe meine Hardcopy oben)
                                Speichern und starten (dauert bei mir 2-3 Sekunden; auf dem PI ev. länger). Wenn dann in den Objekten unter "HV40" der letzte Eintrag "value227" ist, kannst du das Script wieder stoppen.

                                PI:
                                Ich gehe mal von /home/pi aus.
                                Per Terminal auf den PI, dann

                                • cd /home/pi
                                • nano hv40.sh (oder wie du es nennen magst)
                                • per C&P einfügen
                                #!/bin/bash
                                
                                 DP=javascript.0.HV40.value
                                 IPP=192.168.1.3:8087
                                
                                 declare -a MESSWERTE
                                
                                 DATA=$(timeout 3 bash -c "nc -v xxx.xxx.xxx.xxx yy")
                                 MESSWERTE=($(echo $DATA|cut -d"p" -f2|cut -c2-))
                                
                                 ANZAHL=${#MESSWERTE[@]}
                                
                                 #echo Anzahl Datensätze: ${ANZAHL}
                                 #echo ${MESSWERTE[*]}
                                
                                 for ((i=0; i<${ANZAHL}-1; i++))
                                  do
                                   NUM=$(printf "%03d" $i)
                                   IOB="${IOB}${DP}${NUM}=${MESSWERTE[$i]}&"
                                  done
                                
                                 IOB="${IOB}prettyPrint"
                                 #echo $IOB
                                
                                 curl --data "$IOB" http://${IPP}/setBulk
                                

                                #3 ggf. anpassen, identisch mit Einstellungen im Javascript
                                #4 IP und Port des ioBroker (8087 ist der Standard-Port des RESTful-Adapters)
                                #8 xxx=IP der Heizung / yy=Port der Heizung

                                Speichern und mittels sudo chmod +x hv40.sh ausführbar machen.
                                Dann mal testen: ./hv40.sh
                                ca. 3 Sekunden später sollten die Messwerte im ioB verfügbar sein...

                                Wenn alles geklappt hat noch einen cronjob anlegen:
                                sudo crontab -e
                                z.B. für ein 5-Minutenintervall:

                                */5 * * * * /home/pi/hv40.sh
                                

                                Letzte Zeile muss immer eine Leerzeile sein!

                                7 Offline
                                7 Offline
                                70sman
                                schrieb am zuletzt editiert von
                                #31

                                @sborg
                                Habe selbst eine NanoPK15-Plus, wenn man einen Datenexport auf SD-Karte direkt an der Heizung macht bekommt man die Zuordnung zu den Datenpunkten (identisch mit der telnet Geschichte) (in Datei "DAQ00000.DAQ"). Bei mir sind es 135 Werte (127 Analogwerte + 8 Hexadezimal Werte). Die Hex-werte zeigen Schaltzustände an. (Siehe auch Excel). Durch Aufspielen einer neuen Firmware hat sich bei mir übrigens auch was an den Datenpunkten verändert.

                                Messwerte_Telnet.xlsx

                                A 1 Antwort Letzte Antwort
                                0
                                • 7 70sman

                                  @sborg
                                  Habe selbst eine NanoPK15-Plus, wenn man einen Datenexport auf SD-Karte direkt an der Heizung macht bekommt man die Zuordnung zu den Datenpunkten (identisch mit der telnet Geschichte) (in Datei "DAQ00000.DAQ"). Bei mir sind es 135 Werte (127 Analogwerte + 8 Hexadezimal Werte). Die Hex-werte zeigen Schaltzustände an. (Siehe auch Excel). Durch Aufspielen einer neuen Firmware hat sich bei mir übrigens auch was an den Datenpunkten verändert.

                                  Messwerte_Telnet.xlsx

                                  A Offline
                                  A Offline
                                  acidsubway
                                  schrieb am zuletzt editiert von
                                  #32

                                  @70sman

                                  ja bei mir auch, die haben seit Juli eine neue FW, seit dem ist das alles gefixt :) es geht mit dem normalen Adapter von ioBroker.

                                  Aber wie fragst du alle Adressen ab, die Digitalen DAQ?

                                  MfG

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


                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  451

                                  Online

                                  32.4k

                                  Benutzer

                                  81.4k

                                  Themen

                                  1.3m

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

                                  • Du hast noch kein Konto? Registrieren

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