Abfrage & Steuerung von Viessmann Heizungen

Hi,

danke, ah hab gar nicht gesehen das die die Adresse hinten dran gepackt haben …

Bist du gut in SQL Filtern, hättest du einen SQL Befehl der die Adressen direkt heraus trennt …
Wärst du so nett …

Gruß

Hab es, nicht ganz schick aber so geht es … bin in SQL nicht ganz

/****** Skript für SelectTopNRows-Befehl aus SSMS ******/
SELECT TOP (1000) [CompanyId]
      ,[DeviceId]
      ,[DataPointTypeId]
      ,[DataPointId]
      ,[Unit]
      ,[EventTypeAdress]
      ,[EventTypeId]
      ,[EventTypeConversion]
      ,[EventTypeDefaultValue]
      ,[EventLogTime]
      ,[EventLogEventValueBinary]
      ,[EventLogEventValueBit]
      ,[EventLogEventValueDateTime]
      ,[EventLogEventValueFloat]
      ,[EventLogEventValueInt]
      ,[EventLogEventValueNText]
      ,[EventLogEventValueVarChar]
      ,[ControlLogTime]
      ,[ControlLogEventValueBinary]
      ,[ControlLogEventValueBit]
      ,[ControlLogEventValueDateTime]
      ,[ControlLogEventValueFloat]
      ,[ControlLogEventValueInt]
      ,[ControlLogEventValueNText]
      ,[ControlLogEventValueVarChar]
	  ,RIGHT([EventTypeAdress], 6) AS Adress  
  FROM [ecnViessmann].[dbo].[ecnVwDataPointCurrentEventCurrentControl]

schön, dann hast es ja doch noch geklappt. Wie viele Werte sind es bei dir?

Hi,

also Werte sind da, es sind 621 laut Excel. hab mir mal alle gefilterten Daten in Excel gespeichert.^Für mich stellt sich gerade
die Frage in wie weit ich tatsächlich die richtige Liste habe.

Weil, der User „somm“ hat schon eine Bestandsliste und die läuft auch, können aber nicht die Adressen in seiner Liste wieder finden.

Ich hab es bei ihm durchgeführt so wie ich es bei mir auch gemacht habe, mag ja vielleicht sein das ich meine Fehler jetzt transportiert habe.
Können wir das nochmal durchgehen um sicher stellen zu können das die Liste richtig ist.

Aber grundlegend sind wir auf dem richtigen Weg …

Gruß

So hab nen kleinen Hotfix hochgeladen, ist die Bufferliste jetzt > 100 wird ein ClearBuffer ausgelöst.

Sollte fürs erste erstmal ein Speicherleck verhindern.
Werde mir aber über eine Besserung noch Gedanken machen und habe jetzt erstmal nur ein kurzen Hotfix eingefügt.

Swen

Update: Mir war ein Fehler unterlaufen, neues Update ist raus::slight_smile:

Habe es schon gefunden. Du erlaubst keine Leerzeichen im Ident. Wieso nicht?

Jetzt funktioniert bei mir gar nichts mehr, es wir nun bei jedem Durchlauf ein neues Objekt erzeugt

Weil die nicht erlaubt sind im Ident.
Darum hast du jetzt auch jedesmal ein neues Objekt…ups.
Michael

Also ich habe mal die ersten Werte per Symcon abgefragt und bekomme die korrekten Werte, genauso wie in der Vitosoft Software.
Ich habe mir die Werte ebenfalls in eine Exceldatei geschrieben. Dann so formatiert, dass ich erkenne welche Adresse, welcher Datentyp, welche Konvertierung und wie der letzte Wert beim Auslesen mit der Vitosoft Software war.

Komisch, wenn ich die Variable im Anschluss umbenenne funktioniert es weiterhin.

Hi Sven,

wenn du Langeweile haben solltest :), wäre es schön, wenn man bei der Anlage eines Wertes direkt angeben könnte ob Logging (Standard oder Zähler) eingeschaltet werden soll.
Die meisten Werte möchte man ja gerade bei der Heizung archivieren.

Ident ist nicht der Name.
Michael

Warum ?

Gesendet von meinem SM-G930F mit Tapatalk

Was für eine Frage… Gibt IPS so vor, also…darum!
IPS_SetIdent — IP-Symcon :: Automatisierungssoftware
Erlaubt sind Zahlen, Buchstaben und der Unterstrich:
„a…z“,„A…Z“,„0…9“,"_"

Oder meinst du warum dann neue Objekte jedesmal erstellt werden?
Weil auch beim Suchen nach einen Objekt mit einem ungültigen Ident keine ID ermittelt wird.
Damit wird angenommen Keine ID -> Objekt nicht vorhanden -> Also Objekt erstellen.

Michael

Also wäre es möglich in der Eingabemaske eine Möglichkeit zu schaffen, wo man den Namen eingeben könnte.
Also eine Spalte für Ident und eine für den Namen.

Klar ist das möglich sehe aber noch nicht den Sinn dadrin.
Damit wird die Tabelle noch voller und unübersichtlicher.

Kann höchstens bei Ident alles was nicht gebraucht wird immer automatisch vorher entfernen (z.B. Leerzeichen usw.)
Dachte mir das dass mit der Angabe von Ident klar wäre.

Zum Thema Archiv automatisch eintragen.
Wäre ja nur für das Anlegen der Variable benötigt.Ich meine das es einfacher ist wenn man das selber nach anlegen der Variablen einstellt. Da ich sonst wie oben schon beschrieben, viele Unnütze Sachen in der Tabelle stehen habe.

Swen

P.S. Das ist kein Schreibfehler mein Vorname wird mit „W“ geschrieben.:wink:

Hi Swen,

ich habe das gerne an einer Stelle. Da ich die Variable ungern RaumSollTemperatur nennen möchte muss ich die also im Anschluss wieder anpacken, genauso wie das Loggen.
Zurzeit lese ich noch mit dem Raspberry ca. 100 Werte aus. Wenn ich die alle übertrage, wäre es schöner wenn ich dies nur an einer Stelle durchführen muss.
Aber das musst du wissen.

Für das Modul auf jeden Fall vielen Dank, das ist schon mal ein Fortschritt, besonders da ich dadurch wieder einen Raspberry einsparen kann.

PS: Da fällt mir gerade noch ein. Bei der Konvertierung fehlt noch was. Datum/Uhrzeit werden im Format BCDDate aus der Heizung übertragen. Weiterhin gibt es Felder die ein x10 erwarten.

So hab wiedermal zeit hier weiterzumachen,.
x10 (mal 10) Converter ist drin.
Hat jemand ne Erklärung zu BCDDate?

Gruß: Swen

Im Netz gefunden. Ob richtig…?

The format of the BCD date is as follows

Byte Contents Range
0 Year 90-89
1 Month 1-12
2 Day 1-31
3 Hour 0-23
4 Minute 0-59
5 Second 0-59
6 2 MSD of ms 0-99
7 (1st nibble) LSD of ms 0-9
7 (2nd nibble) Day of week (unused) 1-7

PS: Danke für x10 :slight_smile:

Füg ich so hinzu, prüf mal ob x10 geht.

Hallo, vielleicht kann mir wer weiterhelfen lese mit dem Modul meine Wärmepumpe aus klabt soweit alles auch, bis auf den Wert vom Warmwasser HEX Adresse 01CD ist 100% richtig die Adresse habe ich getestet aber mit dem Modul will es einfach nicht funktionieren bei den Vorlauftemperaturen und so funktioniert alles.

Variabel 15414

TXT: 24.11.2018, 14:55:32 |        R-3.Last Data | {"hex":"F701C6","length":"03","retrun_data":false,"value":"","ips_id":39374,"convert":"10"}
HEX: 24.11.2018, 14:55:32 |        R-3.Last Data | 7B 22 68 65 78 22 3A 22 46 37 30 31 43 36 22 2C 22 6C 65 6E 67 74 68 22 3A 22 30 33 22 2C 22 72 65 74 72 75 6E 5F 64 61 74 61 22 3A 66 61 6C 73 65 2C 22 76 61 6C 75 65 22 3A 22 22 2C 22 69 70 73 5F 69 64 22 3A 33 39 33 37 34 2C 22 63 6F 6E 76 65 72 74 22 3A 22 31 30 22 7D 
TXT: 24.11.2018, 14:55:32 |  R-4.FullReceiveData | 0F0100
HEX: 24.11.2018, 14:55:32 |  R-4.FullReceiveData | 30 46 30 31 30 30 
TXT: 24.11.2018, 14:55:32 |             Send Hex | F701CD03
HEX: 24.11.2018, 14:55:32 |             Send Hex | 46 37 30 31 43 44 30 33 
TXT: 24.11.2018, 14:55:32 |       Set-Var(39374) | 27,1
HEX: 24.11.2018, 14:55:32 |       Set-Var(39374) | 32 37 2C 31 
TXT: 24.11.2018, 14:55:32 |    GetDataFromSerial | C801
HEX: 24.11.2018, 14:55:32 |    GetDataFromSerial | 43 38 30 31 
TXT: 24.11.2018, 14:55:32 |         2.Bufferdata | 1543067731-85002
HEX: 24.11.2018, 14:55:32 |         2.Bufferdata | 31 35 34 33 30 36 37 37 33 31 2D 38 35 30 30 32 
TXT: 24.11.2018, 14:55:32 |         2.Bufferdata | 1543067731-91770
HEX: 24.11.2018, 14:55:32 |         2.Bufferdata | 31 35 34 33 30 36 37 37 33 31 2D 39 31 37 37 30 
TXT: 24.11.2018, 14:55:32 |         2.Bufferdata | 1543067731-98011
HEX: 24.11.2018, 14:55:32 |         2.Bufferdata | 31 35 34 33 30 36 37 37 33 31 2D 39 38 30 31 31 
TXT: 24.11.2018, 14:55:32 |         2.Bufferdata | Last
HEX: 24.11.2018, 14:55:32 |         2.Bufferdata | 4C 61 73 74 
TXT: 24.11.2018, 14:55:32 |         2.Bufferdata | Return
HEX: 24.11.2018, 14:55:32 |         2.Bufferdata | 52 65 74 75 72 6E 
TXT: 24.11.2018, 14:55:32 |        R-3.Last Data | {"hex":"F701CD","length":"03","retrun_data":false,"value":"","ips_id":15414,"convert":""}
HEX: 24.11.2018, 14:55:32 |        R-3.Last Data | 7B 22 68 65 78 22 3A 22 46 37 30 31 43 44 22 2C 22 6C 65 6E 67 74 68 22 3A 22 30 33 22 2C 22 72 65 74 72 75 6E 5F 64 61 74 61 22 3A 66 61 6C 73 65 2C 22 76 61 6C 75 65 22 3A 22 22 2C 22 69 70 73 5F 69 64 22 3A 31 35 34 31 34 2C 22 63 6F 6E 76 65 72 74 22 3A 22 22 7D 
TXT: 24.11.2018, 14:55:32 |    GetDataFromSerial | 40
HEX: 24.11.2018, 14:55:32 |    GetDataFromSerial | 34 30 
TXT: 24.11.2018, 14:55:32 |         2.Bufferdata | 1543067731-85002
HEX: 24.11.2018, 14:55:32 |         2.Bufferdata | 31 35 34 33 30 36 37 37 33 31 2D 38 35 30 30 32 
TXT: 24.11.2018, 14:55:32 |         2.Bufferdata | 1543067731-91770
HEX: 24.11.2018, 14:55:32 |         2.Bufferdata | 31 35 34 33 30 36 37 37 33 31 2D 39 31 37 37 30 
TXT: 24.11.2018, 14:55:32 |         2.Bufferdata | 1543067731-98011
HEX: 24.11.2018, 14:55:32 |         2.Bufferdata | 31 35 34 33 30 36 37 37 33 31 2D 39 38 30 31 31 
TXT: 24.11.2018, 14:55:32 |         2.Bufferdata | Data
HEX: 24.11.2018, 14:55:32 |         2.Bufferdata | 44 61 74 61 
TXT: 24.11.2018, 14:55:32 |         2.Bufferdata | Last
HEX: 24.11.2018, 14:55:32 |         2.Bufferdata | 4C 61 73 74 
TXT: 24.11.2018, 14:55:32 |         2.Bufferdata | Return
HEX: 24.11.2018, 14:55:32 |         2.Bufferdata | 52 65 74 75 72 6E 
TXT: 24.11.2018, 14:55:32 |        R-3.Last Data | {"hex":"F701CD","length":"03","retrun_data":false,"value":"","ips_id":15414,"convert":""}
HEX: 24.11.2018, 14:55:32 |        R-3.Last Data | 7B 22 68 65 78 22 3A 22 46 37 30 31 43 44 22 2C 22 6C 65 6E 67 74 68 22 3A 22 30 33 22 2C 22 72 65 74 72 75 6E 5F 64 61 74 61 22 3A 66 61 6C 73 65 2C 22 76 61 6C 75 65 22 3A 22 22 2C 22 69 70 73 5F 69 64 22 3A 31 35 34 31 34 2C 22 63 6F 6E 76 65 72 74 22 3A 22 22 7D 
TXT: 24.11.2018, 14:55:32 |  R-4.FullReceiveData | C80140
HEX: 24.11.2018, 14:55:32 |  R-4.FullReceiveData | 43 38 30 31 34 30 
TXT: 24.11.2018, 14:55:32 |             Send Hex | F70A0103
HEX: 24.11.2018, 14:55:32 |             Send Hex | 46 37 30 41 30 31 30 33 
TXT: 24.11.2018, 14:55:32 |       Set-Var(15414) | 4194760
HEX: 24.11.2018, 14:55:32 |       Set-Var(15414) | 34 31 39 34 37 36 30 
TXT: 24.11.2018, 14:55:32 |    GetDataFromSerial | D4
HEX: 24.11.2018, 14:55:32 |    GetDataFromSerial | 44 34 
TXT: 24.11.2018, 14:55:32 |         2.Bufferdata | 1543067731-91770
HEX: 24.11.2018, 14:55:32 |         2.Bufferdata | 31 35 34 33 30 36 37 37 33 31 2D 39 31 37 37 30 
TXT: 24.11.2018, 14:55:32 |         2.Bufferdata | 1543067731-98011
HEX: 24.11.2018, 14:55:32 |         2.Bufferdata | 31 35 34 33 30 36 37 37 33 31 2D 39 38 30 31 31 
TXT: 24.11.2018, 14:55:32 |         2.Bufferdata | Last
HEX: 24.11.2018, 14:55:32 |         2.Bufferdata | 4C 61 73 74 
TXT: 24.11.2018, 14:55:32 |         2.Bufferdata | Return
HEX: 24.11.2018, 14:55:32 |         2.Bufferdata | 52 65 74 75 72 6E 
TXT: 24.11.2018, 14:55:32 |        R-3.Last Data | {"hex":"F70A01","length":"03","retrun_data":false,"value":"","ips_id":51657,"convert":"10"}
HEX: 24.11.2018, 14:55:32 |        R-3.Last Data | 7B 22 68 65 78 22 3A 22 46 37 30 41 30 31 22 2C 22 6C 65 6E 67 74 68 22 3A 22 30 33 22 2C 22 72 65 74 72 75 6E 5F 64 61 74 61 22 3A 66 61 6C 73 65 2C 22 76 61 6C 75 65 22 3A 22 22 2C 22 69 70 73 5F 69 64 22 3A 35 31 36 35 37 2C 22 63 6F 6E 76 65 72 74 22 3A 22 31 30 22 7D 
TXT: 24.11.2018, 14:55:32 |    GetDataFromSerial | 0000

Danke gruß Stefan