Temperaturwerte aus einem Pelletkessel der FA. ETA auslesen

Ja… stimmt, eigendlich nur Parameter geändert.

Dennoch muss es auch möglich sein die Pumpen wie am Display zu schalten ( da gab’s ja auch das Displayprogramm).
Buderus schweiz:
Bildschirmfoto 2012-07-29 um 15.36.17.png

Grundsätzlich nützt mir ein voller pufferspeicher (1000liter)nichts, wenn der Bolier kalt ist…
siehe Bild.


Die Pufferpumpe werfe ich im Moment „händisch“ an.

Gruß Konny

Hallo konny,

um den Boiler zu laden gibt es einen Schaltbefehl in der Steuerung „extra Laden“. Dieser ist auch über die Schnittstelle verfügbar. Hier mal das Zitat aus der Beschreibung.

Heizkreise bzw. Kessel Aus-Einschalten:

Dieser Dienst ist eigentlich für die SMS-Fernbedienung verwendet. Daher ist bei den
Heizkreisen, die auf diese Kommandos reagieren sollen, die SMS-Fernbedienung
freizuschalten. Die übrigen SMS-Einstellungen sind nicht relevant.

    Service:                 Heizung über SMS umschalten           (15.2.2006, 21.03.2006) 
    Servicekennung:           “IH”  (entspr. hex    0x49 0x48) 
    Datenbyte:                2 Byte  (Data[0]  Bit 7...0 ) 
                                     (Data[1]   Bit 15...8) 

    Data[0] 

      0x01                   Heizung Reset            physischen Schalter verwenden 
      0x02                   Heizung Auto            Schalter auf AUTO        per sms 
      0x04                    Heizung Tag            Schalter auf TAG          per sms 
      0x08                    Heizung Nacht          Schalter auf NACHT per sms 
      0x10                    Kessel Ein             Kessel einschalten 
      0x20                    Kessel Aus             Kessel ausschalten 
      0x40                    Boiler laden           Boiler jetzt laden 

     Data[1] 

      0x00 

bedeutet als Script:

$ID = 24136 /*[COM1_ETA]*/;             //COM.PORT ID

$Data1 = 0 ;
$Data0 = 64;               // 64 (40hex) -> Boiler laden   
$PS = $Data0 % 256;          //Prüfsumme: Rest aus Division der Nutzdaten mit 256

$Daten ="{IH";                //Startzeichen und Servicekennung
$Daten .= chr(2);             //Anzahl der Nutzdatenbytes
$Daten .= chr($PS);           //Prüfsumme
$Daten .= chr($Data0);        //Kennung
$Daten .= chr($Data1);        //Kennung Highbyte
$Daten .= "}";                //Stoppzeichen

ComPort_SendText($ID, $Daten);

Probier das mal, ansonsten weiß ich leider nicht ob Pumpen über die Schnittstelle schaltbar sind.
Gruß
Attain

  1. Das Pellets „extra“-laden funktioniert. Allerdings nur wenn der Solarvorrang ausgeschalten ist.
  2. Schaltet man den Solarvorrang weg, geht dann aber auch der Kessel an, wenn dieser nicht explizit ausgeschalten ist.

    Den Knoten für Kessel ein /aus habe ich nicht.

Gruß Konny

Hallo Leute,

ich habe mich jetzt durch die Beiträge gearbeitet so gut es ging :slight_smile:
Hab ein Keilens Tool in MFC für Windows geschrieben welches Daten aus einem SH20 Kessel auslesen tut.
Das ganze funktioniert auch ganz gut, ich habe nur Probleme wenn es mehr als 20 Datensein sollen. Diese habe ich dann zu gleichen Teilen auf zwei MC abfragen aufgeteilt ( z.b. 2x 13 Werte ) und lasse Sie mir dann alle 60 Sekunden liefern. Das ganze funktioniert auch eine ganze weile und dann kommt da nur noch Mist. Das neu starten des Programmes und auch das neu Starten des Kessels bring da keine Änderung. Auch wenn ich zwischendurch ein ME sende und die Daten neu anfordere bleibt das so. Das ganze funktioniert erst wieder wenn ich nur einen MC Abfrage string sende wieder ohne Probleme, und das über mehrere Tage.

Wie habt ihr das ganze gelöst ?

Danke für die Hilfe

Coolsero

Versuch einmal diesen Simulator Client mit den Ofen zu verbinden (sollte laut Beschreibung gehen) und installier auf deinen PC einen Serial Monitor, dann kannst du mitschauen was da über die Rs232 drüber geht.
Ich habe leider derzeit keinen PC mit passenden Betriebssystem…

Ahja, hab jetzt noch einen zweiten Ofen mit der neuen ETA Steuerung. Das ding hat touch in farbe und einen Netzwerkanschluss. Updates per USB Stick und ein Webservice.
Man kann das alles auch per meineta.at fernsteuern.

So genug mit Werbung, bekomme ja nix dafür, aber ich findes es cool das neue Teil

Wenn man den Simulator auf die RS232 hängt kann man die Display am Ofen simulieren.
Dabei werden diese Daten an den Ofen geschickt.

Rechts sind die Tasten Namen:

Hex Wert
7B 49 49 01 31 31 7D {II.11} Abfrage Ein

7B 49 54 01 31 02 7D {IT.1.} Auf

7B 49 54 01 31 03 7D {IT.1.} Ab

7B 49 54 01 31 01 7D {IT.1.} Ja

7B 49 54 01 31 04 7D {IT.1.} Zurück

7B 49 54 01 31 00 7D {IT.1.} Ändern

7B 49 54 01 31 05 7D {IT.1.} Info

7B 49 54 01 31 07 7D {IT.1.} Entaschen

7B 49 54 01 31 06 7D {IT.1.} Kessel I/O

7B 49 49 01 30 30 7D {II.00} Abfrage Aus

Zurück bekommt man die Anzeige von der Display. Das muss ich mir aber noch genauer ansehen…

Moin Jungs,

ich habe den ganzen Nachmittag versucht einen ETA Kessel nach dem Prinzip der Version 2.0 von ATTAIN im ersten Posting anzubinden und erhalte auf dem COM Port auch alle 90 Sekunden Datenpakete vom ETA Kessel.

Leider bekomme ich beim Start des Zerlegescriptes eine Fehlermeldung:

Notice: Undefined Variable: IPS_VALUE in „…Scriptname“ on line 9.

Line 9 lautet :

$COM_String = $IPS_VALUE; und soll eigentlich die Daten aus der angelegten Registervariable holen die über COM1 befüllt wird und die auch dann das Zerlegescript auch alle 90 Sekunden triggert (Uhrzeit läuft bei Eingang von Daten weiter).

Nur das auslesen und erstellen der Variablen durch das Script funktioniert nicht weil ich ja genau die Übergabe dieses Strings eben durch obige Fehlermeldung nicht durchgeführt bekomme.

Release IPS 2.4.

Könnte mir da jemand von den ETA Spezis einen Tipp geben ?
Ich habe jetzt alles durchgelesen, aber meinen Fehler nicht gefunden. Auch ETA2IPS hat nur zu einem nötigen Backup Restore geführt…also jetzt der Ruf an Euch.

Gruss
Bernd

Leider bekomme ich beim Start des Zerlegescriptes eine Fehlermeldung:

Nicht von Hand ausführen. Wird doch von der Regvar getriggert und nur dann, stehen Daten in $IPS_VALUE.

Hallo Rainer,
Nur kommt bei automatischer Ausführung leider auch nichts rüber obwohl alle 90 Sekunden Daten ankommen.

Muss das Zerlege Script in einer Bestimmten Hierachieebene zur Register Variable liegen oder irgendwas noch als Zusatzinfo an das Zerlegescript übergeben werden damit es weiss wo es hingreifen soll?

Wie gesagt…Daten kommen, Script wird getriggert, nur das erstellen der Variablen und der Zerlegevorgang bleiben aus.

Noch ne Idee ?

Gruss
Bernd

IPS_LogMessage($IPS_SELF, $IPS_VALUE);

…und in den Meldungen nachsehen ob Daten drinnen stehen.

Das Script hast Du der Regvar zugeordnet ? oder triggerts Du über Zeit.

Ne. Das Script wird über die RegVar getriggert…

Inzwischen hat es aber au ch so viele Derivate davon gegeben das ich nicht weiss ob die Version mit 2.4 laufen kann…

Daher die Frage an ETA nutzer ob eine aktuelle Version zur Verfügung steht.

Gruss
Bernd

@Rainer

Wo baue ich diese obige Zeile ein ?
Im Zerlegescript ?

Gruss
B71

Hallo B71,

ja einfach am Anfang des Scripts einfügen.

Gruß
Attain

Oh…da ist der Meister himself :slight_smile:

Kannst Du Dir aus der Erfahrung heraus erklären warum die Daten, die scheinbar als Traffic auf dem ComPort eingehen, nicht zerlegt werden ?

Das kommt auf dem Com1 an:

06.10.2012 19:34:08.00 | Received Data | 4D 44 37 AF 10 00 12 00 4A 10 00 13 01 A6 10 00 14 01 DC 10 00 15 01 E2 10 00 16 00 B1 10 00 17 01 AB 10 00 18 01 8E 10 00 1C 03 52 10 00 3F 02 15 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 19:35:38.00 | Received Data | 4D 44 37 01 10 00 12 02 17 10 00 13 01 D3 10 00 14 01 DB 10 00 15 01 E3 10 00 16 00 B1 10 00 17 01 AA 10 00 18 01 8D 10 00 1C 07 A7 10 00 3F 02 14 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 19:37:08.00 | Received Data | 4D 44 37 06 10 00 12 03 C3 10 00 13 02 2C 10 00 14 01 DB 10 00 15 01 E3 10 00 16 00 B1 10 00 17 01 A8 10 00 18 01 8C 10 00 1C 07 AA 10 00 3F 02 12 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 19:38:39.00 | Received Data | 4D 44 37 CE 10 00 12 03 DE 10 00 13 02 F5 10 00 14 01 E8 10 00 15 01 E3 10 00 16 00 B1 10 00 17 01 A6 10 00 18 01 8C 10 00 1C 08 83 10 00 3F 02 11 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 19:40:09.00 | Received Data | 4D 44 37 F2 10 00 12 03 DE 10 00 13 03 AC 10 00 14 02 03 10 00 15 01 E3 10 00 16 00 B1 10 00 17 01 A4 10 00 18 01 8C 10 00 1C 08 D5 10 00 3F 02 11 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 19:41:39.00 | Received Data | 4D 44 37 85 10 00 12 03 DE 10 00 13 04 2E 10 00 14 02 26 10 00 15 01 E3 10 00 16 00 B0 10 00 17 01 A8 10 00 18 01 8C 10 00 1C 08 C0 10 00 3F 02 10 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 19:43:09.00 | Received Data | 4D 44 37 65 10 00 12 03 DE 10 00 13 04 AD 10 00 14 02 4A 10 00 15 01 E3 10 00 16 00 B0 10 00 17 01 E4 10 00 18 01 8C 10 00 1C 08 C2 10 00 3F 02 0F 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 19:44:39.00 | Received Data | 4D 44 37 0B 10 00 12 03 DE 10 00 13 05 30 10 00 14 02 6A 10 00 15 01 E3 10 00 16 00 B0 10 00 17 01 E3 10 00 18 01 92 10 00 1C 08 C0 10 00 3F 02 0E 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 19:46:10.00 | Received Data | 4D 44 37 D8 10 00 12 03 DE 10 00 13 05 D4 10 00 14 02 8E 10 00 15 01 E2 10 00 16 00 B0 10 00 17 01 F2 10 00 18 01 8E 10 00 1C 08 BB 10 00 3F 02 0E 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 19:47:40.00 | Received Data | 4D 44 37 92 10 00 12 03 DE 10 00 13 06 44 10 00 14 02 BB 10 00 15 01 E3 10 00 16 00 B0 10 00 17 02 02 10 00 18 01 91 10 00 1C 08 C3 10 00 3F 02 0D 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 19:49:10.00 | Received Data | 4D 44 37 0E 10 00 12 03 DE 10 00 13 06 97 10 00 14 02 E0 10 00 15 01 E4 10 00 16 00 B0 10 00 17 02 07 10 00 18 01 92 10 00 1C 08 C0 10 00 3F 02 0D 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 19:50:40.00 | Received Data | 4D 44 37 50 10 00 12 03 DE 10 00 13 06 B0 10 00 14 02 EF 10 00 15 01 E8 10 00 16 00 B0 10 00 17 02 1F 10 00 18 01 92 10 00 1C 08 BF 10 00 3F 02 0C 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 19:52:11.00 | Received Data | 4D 44 37 B1 10 00 12 03 DE 10 00 13 06 E9 10 00 14 02 E1 10 00 15 01 EF 10 00 16 00 B0 10 00 17 02 48 10 00 18 01 97 10 00 1C 08 C1 10 00 3F 02 0B 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 19:53:41.00 | Received Data | 4D 44 37 82 10 00 12 03 DE 10 00 13 06 E5 10 00 14 02 BF 10 00 15 01 FA 10 00 16 00 B0 10 00 17 02 3C 10 00 18 01 90 10 00 1C 08 C1 10 00 3F 02 0A 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 19:55:11.00 | Received Data | 4D 44 37 7E 10 00 12 03 DE 10 00 13 06 FA 10 00 14 02 AA 10 00 15 02 01 10 00 16 00 AF 10 00 17 02 38 10 00 18 01 8C 10 00 1C 08 BF 10 00 3F 02 09 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 19:56:41.00 | Received Data | 4D 44 37 98 10 00 12 03 DE 10 00 13 07 17 10 00 14 02 A1 10 00 15 02 06 10 00 16 00 AF 10 00 17 02 3C 10 00 18 01 8A 10 00 1C 08 BE 10 00 3F 02 08 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 19:58:11.00 | Received Data | 4D 44 37 BB 10 00 12 03 DE 10 00 13 07 2A 10 00 14 02 A2 10 00 15 02 0A 10 00 16 00 AF 10 00 17 02 46 10 00 18 01 8A 10 00 1C 08 C0 10 00 3F 02 07 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 19:59:42.00 | Received Data | 4D 44 37 D5 10 00 12 03 DE 10 00 13 07 33 10 00 14 02 A6 10 00 15 02 0E 10 00 16 00 AE 10 00 17 02 4F 10 00 18 01 8C 10 00 1C 08 C0 10 00 3F 02 06 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 20:01:12.00 | Received Data | 4D 44 37 04 10 00 12 03 DE 10 00 13 07 50 10 00 14 02 AA 10 00 15 02 13 10 00 16 00 AE 10 00 17 02 57 10 00 18 01 8E 10 00 1C 08 C0 10 00 3F 02 05 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 20:02:42.00 | Received Data | 4D 44 37 0D 10 00 12 03 DE 10 00 13 07 43 10 00 14 02 B1 10 00 15 02 18 10 00 16 00 AE 10 00 17 02 60 10 00 18 01 8F 10 00 1C 08 C0 10 00 3F 02 05 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 20:04:12.00 | Received Data | 4D 44 37 EB 10 00 12 03 8D 10 00 13 07 58 10 00 14 02 B8 10 00 15 02 1D 10 00 16 00 AD 10 00 17 02 63 10 00 18 01 8E 10 00 1C 08 CE 10 00 3F 02 04 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 20:05:43.00 | Received Data | 4D 44 37 39 10 00 12 02 D2 10 00 13 07 0A 10 00 14 02 D0 10 00 15 02 20 10 00 16 00 AD 10 00 17 02 75 10 00 18 01 86 10 00 1C 08 01 10 00 3F 02 04 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 20:07:13.00 | Received Data | 4D 44 37 05 10 00 12 02 D2 10 00 13 06 43 10 00 14 02 E4 10 00 15 02 22 10 00 16 00 AD 10 00 17 02 8F 10 00 18 01 84 10 00 1C 05 6A 10 00 3F 02 04 10 00 49 00 00 10 00 56 FA 6F
06.10.2012 20:08:43.00 | Received Data | 4D 44 37 39 10 00 12 02 D2 10 00 13 05 B6 10 00 14 02 EA 10 00 15 02 24 10 00 16 00 AD 10 00 17 02 9B 10 00 18 01 85 10 00 1C 03 19 10 00 3F 02 04 10 00 49 00 00 10 00 56 FA 6F


Gruss
B71

Hallo B71,

wenn alles wie im 1. Post beschrieben ist, sollte es klappen.
V2.4 wird unterstützt
Wie gesagt, trag mal:

IPS_LogMessage($IPS_SELF, $IPS_VALUE);

in das Script am Anfang ein. Dann müßte im Logfenster der Datensatz zu sehen sein.

Was für ein Ofen hast Du?

Gruß
Attain

Hi, diese kryptischen Infos kommen jetzt im Log Fenster alle 90 Sekunden.

den Ofen kann ich Dir gerade nicht nennen, da er im Keller eines Freundes steht.
Ich weiss nur das er kleiner 30kw ist…und somit wohl die 16 zu konfigurieren sein müsste…sorry.
gruss
B71

Hallo B71,

das


$Anzahl = 20; 

hast du im Script angepasst?
weil: Wenn die erwartete Anzahl der Werte, nicht der Angeforderten entspricht, wird keine Variable geschrieben.

Gruß

Nur mal so nebenbei. Was kommt denn hier bei raus.

IPS_LogMessage($_IPS['SELF'], $_IPS['VALUE']);  

Weil, irgendwas stimmt bei deiner Versionsangabe nicht.

er hat „self“ klein geschrieben, deswegen die Fehlermeldung
Ab 2.5 müßte noch andere kommen, da es da „IPS_GetVariableID“ nicht mehr gibt.

Ich muß die Scripte mal überarbeiten.

Gruß