Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Viessmann-Adapter

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Viessmann-Adapter

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

      Hallo,

      ich kämpfe gerade damit den Adapter ans laufen zu bekommen.

      Adapter ist installiert und Instanz angelegt.

      Leider komme ich beim JSON-Import nicht weiter: Habe mich nach und nach herangetastet und verwende nun nur folgende Test-JSON:

      ! ````
      {
      "vito": {
      "devices": {
      "device": [
      {
      "-ID": "20CB",
      "-name": "VScotHO1",
      "-protocol": "P300"
      }
      ]
      },
      "commands": {
      "command": [
      {
      "-name": "getTempA",
      "-protocmd": "getaddr",
      "addr": "0800",
      "len": "2",
      "unit": "UT",
      "description": "Ermittle die Aussentemperatur in Grad C"
      !
      },
      {
      "-name": "getTempAtp",
      "-protocmd": "getaddr",
      "addr": "5525",
      "len": "2",
      "unit": "UT",
      "description": "Ermittle die Aussentemperatur in Grad C (Tiefpass)"
      ! },
      {
      "-name": "getTempAged",
      "-protocmd": "getaddr",
      "addr": "5527",
      "len": "2",
      "unit": "UT",
      "description": "Ermittle die Aussentemperatur in Grad C (Gedaempft)"
      ! }
      ! ]
      }
      }
      }

      Leider bekomme ich immer nur "Einlesen FEHLGESCHLAGEN!!!"
      
      Im Debugger im Firefox sehe ich, dass das Parsen noch klappt, aber die Bedingung````
       if (typeof commands.vito.commands.command === "object" && typeof commands.vito.devices.device["-ID"] != "undefined") {
      ````scheint nicht wahr zu sein.
      
      Irgendeine Idee?
      1 Reply Last reply Reply Quote 0
      • blauholsten
        blauholsten Developer last edited by

        @Huebeni:

        Hallo,

        ich kämpfe gerade damit den Adapter ans laufen zu bekommen.

        Adapter ist installiert und Instanz angelegt.

        Leider komme ich beim JSON-Import nicht weiter: Habe mich nach und nach herangetastet und verwende nun nur folgende Test-JSON:

        ! ````
        {
        "vito": {
        "devices": {
        "device": [
        {
        "-ID": "20CB",
        "-name": "VScotHO1",
        "-protocol": "P300"
        }
        ]
        },
        "commands": {
        "command": [
        {
        "-name": "getTempA",
        "-protocmd": "getaddr",
        "addr": "0800",
        "len": "2",
        "unit": "UT",
        "description": "Ermittle die Aussentemperatur in Grad C"
        !
        },
        {
        "-name": "getTempAtp",
        "-protocmd": "getaddr",
        "addr": "5525",
        "len": "2",
        "unit": "UT",
        "description": "Ermittle die Aussentemperatur in Grad C (Tiefpass)"
        ! },
        {
        "-name": "getTempAged",
        "-protocmd": "getaddr",
        "addr": "5527",
        "len": "2",
        "unit": "UT",
        "description": "Ermittle die Aussentemperatur in Grad C (Gedaempft)"
        ! }
        ! ]
        }
        }
        }

        Leider bekomme ich immer nur "Einlesen FEHLGESCHLAGEN!!!"
        
        Im Debugger im Firefox sehe ich, dass das Parsen noch klappt, aber die Bedingung````
         if (typeof commands.vito.commands.command === "object" && typeof commands.vito.devices.device["-ID"] != "undefined") {
        ````scheint nicht wahr zu sein.
        
        Irgendeine Idee? `  
        

        Schaue ich mir heute Abend an

        1 Reply Last reply Reply Quote 0
        • blauholsten
          blauholsten Developer last edited by

          @Huebeni:

          ! { "vito": { "devices": { "device": [ { "-ID": "20CB", "-name": "VScotHO1", "-protocol": "P300" } ] }, "commands": { "command": [ { "-name": "getTempA", "-protocmd": "getaddr", "addr": "0800", "len": "2", "unit": "UT", "description": "Ermittle die Aussentemperatur in Grad C" ! }, { "-name": "getTempAtp", "-protocmd": "getaddr", "addr": "5525", "len": "2", "unit": "UT", "description": "Ermittle die Aussentemperatur in Grad C (Tiefpass)" ! }, { "-name": "getTempAged", "-protocmd": "getaddr", "addr": "5527", "len": "2", "unit": "UT", "description": "Ermittle die Aussentemperatur in Grad C (Gedaempft)" ! } ! ] } } } `

          Deine vito.xml hatte bestimmt Mal 2 Geräte eingetragen, bitte lösche die [ ].

          Quasi so….

            {
            "vito": {
              "devices": {
                "device": 
                  {
                    "-ID": "20CB",
                    "-name": "VScotHO1",
                    "-protocol": "P300"
                  }
              },
              "commands": {
                "command": [
                  {
                    "-name": "getTempA",
                    "-protocmd": "getaddr",
                    "addr": "0800",
                    "len": "2",
                    "unit": "UT",
                    "description": "Ermittle die Aussentemperatur in Grad C"
          
                  },
                  {
                    "-name": "getTempAtp",
                    "-protocmd": "getaddr",
                    "addr": "5525",
                    "len": "2",
                    "unit": "UT",
                    "description": "Ermittle die Aussentemperatur in Grad C (Tiefpass)"
          
                  },
                  {
                    "-name": "getTempAged",
                    "-protocmd": "getaddr",
                    "addr": "5527",
                    "len": "2",
                    "unit": "UT",
                    "description": "Ermittle die Aussentemperatur in Grad C (Gedaempft)"
          
                  }
          
                ]
              }
            }
          }
          

          EDIT: hatte heute nachmittag mit dem Handy eine Klammer vergessen. Jetzt geht es

          1 Reply Last reply Reply Quote 0
          • H
            Huebeni last edited by

            @blauholsten:

            Deine vito.xml hatte bestimmt Mal 2 Geräte eingetragen, bitte lösche die [ ]. `
            Ja, genau das wars. Damit bekomme ich auch meine große JSON importiert und kann Werte pollen.

            Jetzt ist mir noch etwas aufgefallen. Ich logge ganz gerne Daten mit dem sql-History Adapter. Anscheinend werden die Werte aus dem Viessmann-Adapter als Strings in die Datenbank geschrieben. Kann es sein, dass der Adapter alle Werte nur als Strings weitergibt? Interessanterweise kann Flot dennoch Charts daraus erstellen.

            1 Reply Last reply Reply Quote 0
            • blauholsten
              blauholsten Developer last edited by

              @Huebeni:

              Jetzt ist mir noch etwas aufgefallen. Ich logge ganz gerne Daten mit dem sql-History Adapter. Anscheinend werden die Werte aus dem Viessmann-Adapter als Strings in die Datenbank geschrieben. Kann es sein, dass der Adapter alle Werte nur als Strings weitergibt? Interessanterweise kann Flot dennoch Charts daraus erstellen. `

              Hi,

              eigentlich versucht er die Ergebnisse in ggf number zu wandeln.

              Kannst ja mal kurz ein kleines Skript laufen lassen….

              $('viessmann.0.get*').each((id, i) => {log(typeof getState(id).val);});
              
              1 Reply Last reply Reply Quote 0
              • H
                Huebeni last edited by

                Hi, hab ich gerade gemacht:

                ! 23:02:48.295 [info] javascript.1 Start javascript script.js.common.TestViessmann 23:02:48.296 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.296 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.297 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.297 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.297 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.297 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.297 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.297 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.297 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.297 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.297 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.298 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.298 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.298 [info] javascript.1 script.js.common.TestViessmann: registered 0 subscriptions and 0 schedules !

                Scheint also mit dem konvertieren nicht geklappt zu haben. Wie funktioniert das, hängt das mit den jsons und xml-Dateien zusammen?

                1 Reply Last reply Reply Quote 0
                • blauholsten
                  blauholsten Developer last edited by

                  @Huebeni:

                  Hi, hab ich gerade gemacht:

                  ! 23:02:48.295 [info] javascript.1 Start javascript script.js.common.TestViessmann 23:02:48.296 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.296 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.297 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.297 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.297 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.297 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.297 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.297 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.297 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.297 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.297 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.298 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.298 [info] javascript.1 script.js.common.TestViessmann: string 23:02:48.298 [info] javascript.1 script.js.common.TestViessmann: registered 0 subscriptions and 0 schedules !

                  Scheint also mit dem konvertieren nicht geklappt zu haben. Wie funktioniert das, hängt das mit den jsons und xml-Dateien zusammen? `

                  Was für Werte fragst du ab?

                  1 Reply Last reply Reply Quote 0
                  • H
                    Huebeni last edited by

                    @blauholsten:

                    Was für Werte fragst du ab? `
                    Also aktuell Frage ich ab:

                    TempAged

                    TempKist

                    usw.

                    also vor allem Temperaturen, aber auch den Volumenstrom und aktuelle Leistung.

                    Wenn ich per Telnet auf den vcontrold gehe:

                    vctrld>getTempKist
                    26.500000 Grad Celsius
                    vctrld>getLeistungIst
                    0.000000 %
                    vctrld>getVolStrom
                    189.000000 l/h
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • blauholsten
                      blauholsten Developer last edited by

                      @Huebeni:

                      @blauholsten:

                      Was für Werte fragst du ab? `
                      Also aktuell Frage ich ab:

                      TempAged

                      TempKist

                      usw.

                      also vor allem Temperaturen, aber auch den Volumenstrom und aktuelle Leistung.

                      Wenn ich per Telnet auf den vcontrold gehe:

                      vctrld>getTempKist
                      26.500000 Grad Celsius
                      vctrld>getLeistungIst
                      0.000000 %
                      vctrld>getVolStrom
                      189.000000 l/h
                      
                      ```` `  
                      

                      Hi,

                      du hast in deiner vito.xml die Einheiten mit drin, darum geht das nicht als NUMBER….

                      1 Reply Last reply Reply Quote 0
                      • H
                        Huebeni last edited by

                        @blauholsten:

                        @Huebeni:

                        @blauholsten:

                        Was für Werte fragst du ab? `
                        Also aktuell Frage ich ab:

                        TempAged

                        TempKist

                        usw.

                        also vor allem Temperaturen, aber auch den Volumenstrom und aktuelle Leistung.

                        Wenn ich per Telnet auf den vcontrold gehe:

                        vctrld>getTempKist
                        26.500000 Grad Celsius
                        vctrld>getLeistungIst
                        0.000000 %
                        vctrld>getVolStrom
                        189.000000 l/h
                        
                        ```` `  
                        

                        Hi,

                        du hast in deiner vito.xml die Einheiten mit drin, darum geht das nicht als NUMBER…. `

                        Ok, hab ich nun geändert:

                        vctrld>getTempKist
                        34.000000 
                        vctrld>getLeistungIst
                        0.000000 
                        vctrld>getVolStrom
                        0.000000
                        

                        Trotz Löschen von viessmann.0.*, habe ich wieder strings in den Werten.

                        Irgendein Tipp?

                        1 Reply Last reply Reply Quote 0
                        • Goersch
                          Goersch last edited by

                          Hallo,

                          hat mal jemand versuch/es geschafft, auf Werte der Codierebene 1 zuzugreifen? Oder ggf. jemand eine Idee, wie es klappen könnte?

                          Danke!

                          Georg

                          1 Reply Last reply Reply Quote 0
                          • blauholsten
                            blauholsten Developer last edited by

                            @Goersch:

                            Hallo,

                            hat mal jemand versuch/es geschafft, auf Werte der Codierebene 1 zuzugreifen? Oder ggf. jemand eine Idee, wie es klappen könnte?

                            Danke!

                            Georg `
                            Erkläre mir bitte näher, was du machen willst. Ich habe mich mit setzen von werten noch nicht wirklich beschäftigt

                            1 Reply Last reply Reply Quote 0
                            • Goersch
                              Goersch last edited by

                              @blauholsten: Ich habe mir bei der Montage der Heizung die Viessmann EA-Baugruppe hinzufügen lassen. Mit dieser kann ich zwischen "nomalen" und "reduziertem" Betrieb hin und herschalten - wenn der Parameter D8 der Codierebene 1 gesetzt ist (beim reduziertem Betrieb wird die Vorlauftemperatur deutlich abgesenkt).

                              Wenn der Parameter D8 nicht auf 0 steht, kann man aber leider nicht zwischen "nur Warmwasserbetrieb" und "Heizung+Warmwasserbetrieb" hin und herschalten - die Heizung blockiert die Umschaltung dann mit dem Hinweis, dass D8 gesetzt ist.

                              Also muss ich

                              • am Anfang der Heizperiode: Die Heizung auf "Heizung+Warmwasserbetrieb" umschalten und dann den Parameter D8 auf "1" setzen

                              • am Ende der Heizperiode: Den Parameter D8 auf "0" setzen um auf "nur Warmwasserbetrieb" schalten zu können

                              Da ich in meiner iobroker-Heizungslogik sowieso ein Flag "Heizperiode" habe, würde ich gerne dann auch automatisch den Wechsel der Parameter in der Heizung durchführen, ohne dass ich dazu an der Heizung was einstellen muss. Dafür brauche ich aber Zugriff auf den Parameter D8 der Codierebene 1 - deshalb meine Frage 8-)

                              Hintergrund wie und warum ich das mache:

                              • reduzierung Gasverbrauch durch reduzierte Kesseltemperatur wenn keine hohe Kesseltemperatur notwendig ist

                              • schalten zwischen normalen und reduziertem Betrieb erfolgt

                              a) in Abhängigkeit der Ventilstellung der Heizkörper, z.B.

                              • alle Ventilstellungen < x% -> reduzierter Betrieb

                              • Summe Ventilestellungen > x -> normaler Betrieb

                              • Stellung eines Ventils > x -> normaler Betrieb

                              b) Zeitabhängig

                              • 22-5 Uhr immer reduziert

                              • 5-22Uhr reduziert oder normal - je nach Anforderung der Heizkörper

                              1 Reply Last reply Reply Quote 0
                              • Goersch
                                Goersch last edited by

                                mh, eigentlich müsste das, was ich will, auch über PartyBetrieb oder SparBetrieb zu realisieren sein (mit entsprechend abgesenkter Raumtemperatur) - ohne die ganze Hardware im Hintergrund.

                                So gibt es immer Vereinfachungspotenzial - mal schauen.

                                1 Reply Last reply Reply Quote 0
                                • blauholsten
                                  blauholsten Developer last edited by

                                  @Goersch:

                                  mh, eigentlich müsste das, was ich will, auch über PartyBetrieb oder SparBetrieb zu realisieren sein (mit entsprechend abgesenkter Raumtemperatur) - ohne die ganze Hardware im Hintergrund.

                                  So gibt es immer Vereinfachungspotenzial - mal schauen. `
                                  Hi,

                                  so ähnlich mache ich das auch,

                                  1 Reply Last reply Reply Quote 0
                                  • Goersch
                                    Goersch last edited by

                                    Hab hier ein kleines Problemchen - vielleicht kann mir jemand auf die Sprünge helfen …

                                    Starte ich den vcontrold mit "vcontrold start" läuft entsprechender Prozess und die Verbindung mit der Viessmann Instanz klappt.

                                    Leider startet der vcontrold nach einem Neustart des Raspi nicht selber.

                                    Ich hab alles so eingerichtet, wie beschrieben (https://openv.wikispaces.com/vcontrold+mit+Raspberry+Pi), aber es will nicht. Wenn ich "sudo /etc/init.d/vcontrol start" manuell ausführe (so wie beschrieben), dann gibt es anschliessend keinen vcontrold Prozess (und die Viessmann Instanz baut keine Verbindung auf), die Meldung lautet aber "[ ok ] Starting vcontrol (via systemctl): vcontrol.service."

                                    Hab mich auch mal durch das "/etc/init.d/vcontrol" Skript gelesen und Pfade geprüft, etc. Sieht alles OK aus. Klappen tut es dennoch nicht.

                                    Falls jemand eine Idee hat, was ich noch prüfen kann: Gerne 8-)

                                    Danke !

                                    Georg

                                    1 Reply Last reply Reply Quote 0
                                    • Peoples
                                      Peoples last edited by

                                      Hi,

                                      mit diesem Adapter habt ihr es wieder einmal geschafft meine Begeisterung für das IoBroker - Projekt neu zu "befeuern" danke hierfür.

                                      Da das ganze Thema vcontrold usw. wirklich umfangreich ist und ich nichts finden konnte wollte ich zwei Fragen stellen die die nur begrenzt etwas mit dem Adapter selbst aber irgendwie doch mit dem Projekt zu tun haben.

                                      Hat es jemand von euch geschafft OpenV auf einer virtuellen Maschine bspw. einem Nuc mit ESXI zum laufen zu kriegen?

                                      Ich konnte zwar alles installieren bekomme jedoch immer die Meldung "keine Verbindung" beim start des Dienstes.

                                      Und zum zweiten wollte ich fragen ob jemand von euch mehr als die "Standard" Datenpunkte für die Vitoladens 300 C gefunden hat oder ob es irgendwo im Internet eine Datenbank gibt, bzw. mir einer eine Möglichkeit sagen kann wie ich an diese komme?

                                      Wenn man bspw. die Beispiel xml. Dateien des Projektes ansieht kann man ja bei diesem Model wesentlich mehr abfragen.

                                      Gruß

                                      Steffen

                                      1 Reply Last reply Reply Quote 0
                                      • B
                                        Brookyman last edited by

                                        Ich würde mich gerne mal beim Vorredner anhängen. Wie bekomme ich die Datenpunkte raus? Vcontrold läuft bei mir soweit. Jedoch kann ich aktuell nur die Betriebsart und die Gesamtlaufzeit abfragen. Alle anderen werte laufen ins leere. Habe mir auch die Viesmann Software Vitosoft 300 zum testen angeguckt. Jedoch fehlen mit dort die entscheidenen Datenpunkte für Vor und Rücklauf sekundär wie primär.

                                        1 Reply Last reply Reply Quote 0
                                        • J
                                          jupzup last edited by

                                          Hallo zusammen, vorab erst einmal vielen Dank für den Adapter !! Ich habe gestern erfolgreich vcontrold installiert und per USB Optokabel an meine VscotHO1 ID=20CB angeschlossen.

                                          Es lassen sich soweit auch alle Daten abfragen einzig die VitoBetriebsartHK also Aktuelle Betriebsart scheint einen falschen Wert auszugeben bzw. ändert sich nicht egal ob die Anlage im Reduzierten Betrieb oder im Normalbetrieb läuft.

                                          vito.xml

                                          <command name="getVitoBetriebsartHK" protocmd="getaddr"></command>

                                          <addr>2500</addr>

                                          <len>1</len>

                                          <unit>ABA</unit>

                                          <description>Aktuelle Betriebsart des Heizkreises</description>

                                          vcontrold.xml

                                          <unit name="Aktuelle Betriebsart"><abbrev>ABA</abbrev>

                                          <type>enum</type></unit>

                                          Funktioniert das bei Euch ? Ich denke das evtl. die Adresse 2500 bei meiner Anlage nicht die richtige ist ?

                                          Es ist auch kein Adapter Problem denn im vclient wird es genauso angezeigt bzw. es wird immer nur "Normalbetrieb (Schaltuhr)" angezeigt.

                                          Hat jemand hierzu eine Idee ?

                                          VG

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

                                            Hallo,

                                            Ich hab zwar einen anderen Kessel, aber soweit ich mich erinnern kann hat bei mir die Adresse 2500 auch nicht funktioniert.

                                            Bei meiner Anlage geht das hier:

                                            vito.xml

                                            
                                            -<command name="getBetriebArtM1" protocmd="getaddr"></command>
                                            <addr>2301</addr>
                                            <len>1</len>
                                            <unit>BA</unit>
                                            <description>Ermittle Betriebsart M1</description>
                                            
                                            -<command name="setBetriebArtM1" protocmd="setaddr"></command>
                                            <addr>2301</addr>
                                            <len>1</len>
                                            <unit>BA</unit>
                                            <description>Setze Betriebsart M1</description>
                                            
                                            

                                            vcontrold:

                                            - <unit name="BetriebsArt"><abbrev>BA</abbrev>
                                            <type>enum</type></unit> 
                                            

                                            eventuell hilfts ja.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            937
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            viesmann
                                            50
                                            523
                                            130859
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo