Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Mit dem Virtuellen HTTP Eingang und den Virtueller HTTP Eingang Befehl-Funktionen kann vom Loxone Miniserver in einem festgelegten Intervall eine Webseite abgerufen und daraus Werte extrahiert werden.

Der Aufbau ist dabei folgendermaßen:

  • In einem "Virtueller HTTP Eingang" wird die URL und das Zeitintervall hinterlegt. Beim abgerufenen Inhalt kann es sich um ein beliebiges Dokument im Textformat handeln (z.B. HTML, XML, JSON).
  • Dem "Virtuellen HTTP Eingang" kann man einen oder mehrere "Virtueller HTTP Eingang Befehl"-Funktionen zuordnen. Jeder Eingangsbefehl führt aufgrund der angegebenen "Befehlserkennung" eine Stringsuche im abgerufenen Dokument durch und gibt einen Wert als Eingang aus.
  • Durch mehrere HTTP-Eingangs-Befehle können mehrere Werte einer Seite ausgelesen werden.
  • Die Syntax für die Befehlserkennung wird im Syntaxfeld (im Eigenschaftsfenster unten) angezeigt.

 

Dokumentation (Loxone Website)

Limitierungen

Alle HTTP Requests inkl. dem Request für den Türstations-Bilderabruf werden von nur einem Thread bearbeitet. D.h. stockt bei einem die Verarbeitung (Timeout/lange Responsezeit), kann sich dies negativ auf alle weiteren Requests auswirken. Wichtig ist hierbei auch einen geeigneten Timeout zu setzen. Eine Abfrage alle 10 Sekunden mit einem Timeout von 8 Sekunden kann bereits alles andere lahm legen/deutlich verzögern. Je häufiger die Abfrage umso niedriger sollte der Timeout sein. (Am besten < 1000 ms)

Der Loxone Miniserver unterstützt keine verschlüsselten Webseiten (HTTPS).

 

Anlegen von virtuellen HTTP-Eingängen

Das Beispiel basiert auf dem Müllkalender-Beispiel der CALDAV / Google Kalender Integration (Loxforum.com) von Sven.

Virtuellen HTTP Eingang anlegen

In der Loxone Config unter "Peripherie" einen Virtueller HTTP Eingang erstellen. Dieser virtuelle HTTP-Eingang ist dann im Peripheriebaum beim Miniserver unter Virtuelle Eingänge zu sehen.

In den Eigenschaften wird eine Bezeichnung, die URL des Aufrufs sowie das Zeitintervall eingetragen.

Hinweis

Die Parameter bei der URL müssen URL-encoded sein, z.B. muss ein Leerzeichen mit %20 angegeben werden. Hier ist ein Online-URL-Encoder/Decoder.

Virtuelle HTTP Eingangs-Befehle anlegen

Unter dem Virtuellen HTTP Eingang können dann beliebig viele Virtueller HTTP Eingang Befehle angelegt werden.

 

    

In der Befehlserkennung wird ein Suchstring angegeben, mit dessen Hilfe der Miniserver den Wert im Dokument sucht. Es ist gewissermaßen ein "Anleitung" dafür, wo sich der Wert befindet. Eine Kurzreferenz der Syntax ist unter dem Eigenschaftsfenster. Eine genauere Erklärung dazu befindet sich am Ende der Loxone Dokumentation (Loxone Website).

Hinweis

Wird ein Wert von der Befehlserkennung nicht gefunden, liefert diese den Status 0 zurück, dabei wird jedoch der Fehlerausgang Q nicht getriggert (Loxone Ticket #237119). Der Wert 0 ist daher nicht eindeutig (kann ein realer Wert sein, oder aber er wurde nicht gefunden).

Die Validierung der Werte kann verwendet werden: Ist 0 kein gültiger Wert, kann bei der Validierung der Wertebereich festgelegt werden (z.B. 10 bis 100). In diesem Fall wird der Fehlerausgang Q getriggert, wenn der Wert nicht gefunden und daher 0 ist.

Beispiele für die Befehlserkennung

JSON-Beispiel (CALDAV-Müllkalender)

Rückgabe des HTTP-Abrufs

JSON-Output des CALDAV-Scripts
{
	"Muellabfuhr": {
		"Start": 194832000,
		"End": 194918400,
		"Description": "gelbe Tonne=1",
		"fwDay": 4,
		"wkDay": 5
	}
	"MSTest": {
		"Start": 194543100,
		"End": 194544900,
		"Description": "",
		"fwDay": 0,
		"wkDay": 1
	}
	"now": 194542498
}

Besonderheit: Es wurden zwei Ereignisse (Muellabfuhr und MSTest) abgerufen. Die Variablen (Start, End usw.) kommen daher zweimal vor.

Befehlserkennung

Abruf vonSyntaxErklärung
Wert von gelbe Tonne"Description": "gelbe Tonne=\nWir wollen wissen, ob "Gelbe Tonne" gesetzt ist. Entsprechend springen wir zu diesem String und und übernehmen mit \v diesen String
now (Rückgabe soll 194542498 sein)"now": \vDa now nur einmal vorkommt, suchen wir direkt diesen String und übernehmen den Wert mit \v.
fwDay von MSTest (Rückgabe soll 0 sein)MSTest": \ifwDay\i": \vEs wird zuerst der String MSTest": gesucht, weil fwDay zweimal vorkommt. Mit \ifwDay\i wird von der Fundstelle ausgehend der String fwDay gesucht. Ausgehend von dieser Position befindet sich der Wert nach ": und wird mit \v abgerufen.

Siehe auch

  • LoxBerry-Plugin https2http - Verschlüsselte (https)-Webseiten über den LoxBerry für virtuelle HTTP-Eingänge bereitstellen
  • LoxBerry-Plugin Command Recognition - Befehlserkennung - Am LoxBerry mit grafischer Oberfläche Befehlserkennungen erstellen und testen

HTML-Beispiel (WH2600 Wetterstation)

Rückgabe des HTTP-Aufrufs (Auszug)

HTML-Output der WH2600 (gekürzt)
<tr>
	<td width="448" bgcolor="#EDEFEF"><div class="item_1">Indoor Sensor ID and  Battery </div></td>
	<td width="352" bgcolor="#EDEFEF">
		<input name="IndoorID" disabled="disabled" type="text" class="item_2" style="WIDTH: 80px" value="0xa4" maxlength="5" />
        <input name="inBattSta" disabled="disabled" type="text" class="item_2" style="WIDTH: 100px" value="LOW STATUS" maxlength="12" />
	</td>
</tr>
</tr>
<tr> 
 <td bgcolor="#EDEFEF"><div class="item_1">Outdoor Temperature</div></td> 
 <td bgcolor="#EDEFEF"><input name="outTemp" disabled="disabled" type="text" class="item_2" style="WIDTH: 80px" value="-3.4" maxlength="5" /></td> 
 </tr> 
 <tr> 
 <td bgcolor="#EDEFEF"><div class="item_1">Outdoor Humidity </div></td> 
 <td bgcolor="#EDEFEF"><input name="outHumi" disabled="disabled" type="text" class="item_2" style="WIDTH: 80px" value="80" maxlength="3" /></td> 
 </tr> 

Besonderheit: In diesem Beispiel soll außer normalen Werten auch der Batteriestatus (Normal oder LOW STATUS) ausgelesen werden. Der HTTP Eingangs-Befehl unterstützt allerdings keine Strings (Stand Loxone Firmware 7.1.9.30). 

Befehlserkennung

Abruf vonSyntaxErklärung
outTemp valuename="outTemp"\ivalue="\i\vDa der String value bei jedem einzelnen Sensorwert auftritt, muss erst zum eindeutigen String name="outTemp" gesprungen werden. Um die unvorhersehbaren HTML-Tags bis zum Value zu überspringen, wird von der Fundstelle von outTemp mit \ivalue="\i zu diesem String weitergesucht. Mit \v wird der Wert dann übernommen. Im Eingangsbefehl muss "Werteinterpretation mit Vorzeichen" aktiviert sein.
outHumi valuename="outHumi"\ivalue="\i\vSiehe outTemp
Batteriestatus
input name="inBattSta"\ivalue="\i\1
Der virtuelle HTTP-Eingang kann keine Strings abfragen, allerdings kann man den ASCII-Wert eines Zeichens auslesen. Wir suchen wie oben nach dem Value von inBattSta und lassen uns mit \1 den ASCII-Wert des ersten Zeichens des Strings ausgeben. Ist der Buchstabe L = ASCII 76 (LOW STATUS), ist der Batteriestand niedrig. Ist der Wert N = 78 (NORMAL), ist der Zustand normal. Mit einem nachfolgenden Statusbaustein kann der Wert entsprechend umgesetzt werden.

Siehe dazu die genauere Beschreibung in Wetterstation WH2600 / WH2601 direkt in Loxone einbinden

Fehlersuche

Zur Entwicklung oder der Fehlersuche der Befehlserkennung, kann am besten der "Loxone Monitor" verwendet werden. Dazu unter dem Reiter "Diagnose" den "Debug-Info" Dialog oeffnen und den Monitor auswählen.
Im Monitor kann nun über den Filter nach den Nachrichten des HTTP-Eingangs gesucht werden. Am besten funktioniert dies wenn man im Filter "HTC" einträgt.

Im Screenshot ist zu erkennen, welcher Request an verschickt wurde und wie die Antwort vom Server dazu aussah.
Da der <e2instandby> tag über 2 Zeilen verteilt ist, muss die Befehlserkennung auch entsprechend angepasst werden. Zum Beispiel

<e2instandby>\n\v

 

  • Keine Stichwörter

11 Kommentare

  1. Ist das maximale Timeout nicht 8 Sekunden?

    1. stimmt danke fürs korrigieren

  2. Hallo,

    Ich habe ein kleines Problem mit einer html Abfrage..... ich hoffe mir kann jemand helfen!

    Ich versuche die Aktuelle Leistung meiner PV-Anlage (SolaX) in die Visualisierung zu bringen. Dazu möchte ich die Daten der html Seite meiner PV Anlage auslesen.

    Im Quelltext sieht das Ganze so aus (Ausschnitt):

     <div class="power radius"></div> <span> <label>Leistung</label> <b>651W</b> 

    Als Befehlskennung verwende ich:

    <label>Leistung</label>\i<b>\i\v

    bzw.

    <label>Leistung</label> <b>\v


    Ich Versuche also erst zu "<label>Leistung</label>" zu springen und danach den Wert hinter <b> zu lesen.

    Aber als Antwort bekomme ich immer 0.


    Die komplette html Datei, die auch bei URL im Virtuellen eingang eingetragen ist:

    http://www.solax-portal.com/dz/home/overview/191681

    Abfragezyklus zum Testen jetzt 10 Sekunden. Später wird es auf 5 Minuten erhöht, da die Daten auch nur alle 5 Minuten aktualisiert werden. Timeout steht auf 4000ms.


    Für Hilfe wäre ich sehr Dankbar!


    1. in der HTML Datei steht ja auch kein <p> sondern <b>!

      1. Das stimmt natürlich...... da hat sich ein Tippfehler eingeschlichen! Allerdings ist das Ergebnis mit <b> leider das gleiche...... 0

        Habe das im erste Post gleich korrigiert! und natürlich auch in der Config

        1. dann probier mal statt "Leistung" "Power Output" zu verwenden. Eventuell bekommt Loxone die englische Variante der Seite angezeigt (wenn ich die Seite einfach so mit curl lade, dann ist sie auf jeden Fall english und es steht Power Output statt Leistung drinnen)

  3. Super, vielen Dank!!

    da wäre ich nie drauf gekommen!

  4. Sebastian sagt:

    was ist wenn ich im html:


        <div class="sensor-component">

            <h5>Zeitpunkt</h5>

            <h4>04.04.2018 20:21:01</h4>

        </div>

        <div class="sensor-component">

            <h5>Temperatur</h5>

            <h4>27,8 C</h4>

        </div>

        <div class="sensor-component">

            <h5>Temperatur Kabelsensor</h5>

            <h4>27,3 C</h4>

        </div>

        <div class="sensor-component">

            <h5>Luftfeuchtigkeit</h5>

            <h4>36%</h4>



    die <h4> einzeln herausfiltern will? wie komme ich in die nächste zeile bei der befehlserkennung?


    1. Du suchst einfach so oft nach dem String, bis du dort bist, wo du hinwillst:

      <h4>\i<h4>\i\v liefert 27,8

      <h4>\i<h4>\i\i<h4>\i\v liefert 27,3

  5. Hallo Leute,

    ich komm einfach nicht weiter, Werte aus meinem Guntamatic BMK 40 Heizkessel auszulesen.

    Ich möchte zum Beispiel die Kesseltemperatur 43.30 aus folgendem Quellcode auslesen.

    <tr><td>2</td><td>0x4005</td><td>0x4004</td><td>float</td><td>°C</td><td>4</td><td>Kesseltemperatur</td><td><code>0x422d3300</code>43.30</td></tr>

    Ich seh den Wald vor lauter Bäumen nicht mehr. 

    Vielleicht kann mir jemand auf die Sprünge helfen.

    Hier der ganze Quellcode:

    <html> <head><title>Modbus Mapping - Guntamatic</title><meta charset="iso-8859-1"><style>table { border-collapse:collapse; text-align: center; }table, td, th { border:1px solid black; padding: 2px; }th {vertical-align: top; }</style></head><body><h1>Modbus Mapping</h1><table> <thead> <tr><th>Id</th><th>Register</th><th>Adresse</th><th>Typ</th><th>Einheit</th><th>Größe<br>(Byte)</th><th>Name</th><th>aktueller Wert</th></tr> </thead> <tbody> <tr><td>1</td><td>0x4003</td><td>0x4002</td><td>string</td><td></td><td>4</td><td>Betrieb</td><td><code>0x5354414e</code>STAN</tr> <tr><td>2</td><td>0x4005</td><td>0x4004</td><td>float</td><td>°C</td><td>4</td><td>Kesseltemperatur</td><td><code>0x422a10ba</code>42.52</td></tr> <tr><td>5</td><td>0x400b</td><td>0x400a</td><td>float</td><td>°C</td><td>4</td><td>Aussentemperatur</td><td><code>0x41fee278</code>31.86</td></tr> <tr><td>6</td><td>0x400d</td><td>0x400c</td><td>int</td><td>%</td><td>4</td><td>Pufferladung</td><td><code>0x0000001c</code>28</td></tr> <tr><td>7</td><td>0x400f</td><td>0x400e</td><td>float</td><td>°C</td><td>4</td><td>Puffer oben</td><td><code>0x42399e0e</code>46.40</td></tr> <tr><td>8</td><td>0x4011</td><td>0x4010</td><td>float</td><td>°C</td><td>4</td><td>Puffer mitte</td><td><code>0x422cb7cc</code>43.18</td></tr> <tr><td>9</td><td>0x4013</td><td>0x4012</td><td>float</td><td>°C</td><td>4</td><td>Puffer unten</td><td><code>0x422384a8</code>40.88</td></tr> <tr><td>10</td><td>0x4015</td><td>0x4014</td><td>int</td><td>%</td><td>4</td><td>Kesselladepumpe</td><td><code>0x00000000</code>0</td></tr> <tr><td>14</td><td>0x401d</td><td>0x401c</td><td>float</td><td>%</td><td>4</td><td>CO2 Gehalt</td><td><code>0x41907a73</code>18.06</td></tr> <tr><td>23</td><td>0x402f</td><td>0x402e</td><td>int</td><td></td><td>4</td><td>Betriebscode</td><td><code>0x00000001</code>1</td></tr> <tr><td>24</td><td>0x4031</td><td>0x4030</td><td>bool</td><td></td><td>4</td><td>Pumpe HP0</td><td><code>0x00000000</code>0</td></tr> <tr><td>25</td><td>0x4033</td><td>0x4032</td><td>float</td><td>°C</td><td>4</td><td>Warmwasser 0</td><td><code>0x4223c2fc</code>40.94</td></tr> <tr><td>26</td><td>0x4035</td><td>0x4034</td><td>int</td><td>%</td><td>4</td><td>Warmwasserpumpe 0</td><td><code>0x00000000</code>0</td></tr> <tr><td>27</td><td>0x4037</td><td>0x4036</td><td>float</td><td>°C</td><td>4</td><td>Warmwasser 1</td><td><code>0xc1a00000</code>-20.00</td></tr> <tr><td>28</td><td>0x4039</td><td>0x4038</td><td>int</td><td>%</td><td>4</td><td>Warmwasserpumpe 1</td><td><code>0x00000000</code>0</td></tr> <tr><td>29</td><td>0x403b</td><td>0x403a</td><td>float</td><td>°C</td><td>4</td><td>Warmwasser 2</td><td><code>0xc1a00000</code>-20.00</td></tr> <tr><td>30</td><td>0x403d</td><td>0x403c</td><td>int</td><td>%</td><td>4</td><td>Warmwasserpumpe 2</td><td><code>0x00000000</code>0</td></tr> <tr><td>31</td><td>0x403f</td><td>0x403e</td><td>bool</td><td></td><td>4</td><td>Heizkreispumpe 0</td><td><code>0x00000001</code>1</td></tr> <tr><td>32</td><td>0x4041</td><td>0x4040</td><td>float</td><td>°C</td><td>4</td><td>Raumtemp. HK 0</td><td><code>0x42700000</code>60.00</td></tr> <tr><td>33</td><td>0x4043</td><td>0x4042</td><td>float</td><td>°C</td><td>4</td><td>Raumtemp. HK 1</td><td><code>0x42700000</code>60.00</td></tr> <tr><td>35</td><td>0x4047</td><td>0x4046</td><td>float</td><td>°C</td><td>4</td><td>Vorlauf Ist 1</td><td><code>0x41d209a1</code>26.25</td></tr> <tr><td>36</td><td>0x4049</td><td>0x4048</td><td>bool</td><td></td><td>4</td><td>Heizkreispumpe 1</td><td><code>0x00000000</code>0</td></tr> <tr><td>38</td><td>0x404d</td><td>0x404c</td><td>float</td><td>°C</td><td>4</td><td>Raumtemp. HK 2</td><td><code>0x42700000</code>60.00</td></tr> <tr><td>40</td><td>0x4051</td><td>0x4050</td><td>float</td><td>°C</td><td>4</td><td>Vorlauf Ist 2</td><td><code>0x41c89b40</code>25.08</td></tr> <tr><td>41</td><td>0x4053</td><td>0x4052</td><td>bool</td><td></td><td>4</td><td>Heizkreispumpe 2</td><td><code>0x00000000</code>0</td></tr> <tr><td>43</td><td>0x4057</td><td>0x4056</td><td>bool</td><td></td><td>4</td><td>Heizkreispumpe 3</td><td><code>0x00000000</code>0</td></tr> <tr><td>44</td><td>0x4059</td><td>0x4058</td><td>float</td><td>°C</td><td>4</td><td>Raumtemp. HK 3</td><td><code>0xc1100000</code>-9.00</td></tr> <tr><td>45</td><td>0x405b</td><td>0x405a</td><td>float</td><td>°C</td><td>4</td><td>Raumtemp. HK 4</td><td><code>0xc1100000</code>-9.00</td></tr> <tr><td>47</td><td>0x405f</td><td>0x405e</td><td>float</td><td>°C</td><td>4</td><td>Vorlauf Ist 4</td><td><code>0xc1a00000</code>-20.00</td></tr> <tr><td>48</td><td>0x4061</td><td>0x4060</td><td>bool</td><td></td><td>4</td><td>Heizkreispumpe 4</td><td><code>0x00000000</code>0</td></tr> <tr><td>50</td><td>0x4065</td><td>0x4064</td><td>float</td><td>°C</td><td>4</td><td>Raumtemp. HK 5</td><td><code>0xc1100000</code>-9.00</td></tr> <tr><td>52</td><td>0x4069</td><td>0x4068</td><td>float</td><td>°C</td><td>4</td><td>Vorlauf Ist 5</td><td><code>0x42380000</code>46.00</td></tr> <tr><td>53</td><td>0x406b</td><td>0x406a</td><td>bool</td><td></td><td>4</td><td>Heizkreispumpe 5</td><td><code>0x00000000</code>0</td></tr> <tr><td>55</td><td>0x406f</td><td>0x406e</td><td>bool</td><td></td><td>4</td><td>Heizkreispumpe 6</td><td><code>0x00000000</code>0</td></tr> <tr><td>56</td><td>0x4071</td><td>0x4070</td><td>float</td><td>°C</td><td>4</td><td>Raumtemp. HK 6</td><td><code>0xc1100000</code>-9.00</td></tr> <tr><td>57</td><td>0x4073</td><td>0x4072</td><td>float</td><td>°C</td><td>4</td><td>Raumtemp. HK 7</td><td><code>0xc1100000</code>-9.00</td></tr> <tr><td>59</td><td>0x4077</td><td>0x4076</td><td>float</td><td>°C</td><td>4</td><td>Vorlauf Ist 7</td><td><code>0xc1a00000</code>-20.00</td></tr> <tr><td>60</td><td>0x4079</td><td>0x4078</td><td>bool</td><td></td><td>4</td><td>Heizkreispumpe 7</td><td><code>0x00000000</code>0</td></tr> <tr><td>62</td><td>0x407d</td><td>0x407c</td><td>float</td><td>°C</td><td>4</td><td>Raumtemp. HK 8</td><td><code>0xc1100000</code>-9.00</td></tr> <tr><td>64</td><td>0x4081</td><td>0x4080</td><td>float</td><td>°C</td><td>4</td><td>Vorlauf Ist 8</td><td><code>0x42380000</code>46.00</td></tr> <tr><td>65</td><td>0x4083</td><td>0x4082</td><td>bool</td><td></td><td>4</td><td>Heizkreispumpe 8</td><td><code>0x00000000</code>0</td></tr> <tr><td>67</td><td>0x4087</td><td>0x4086</td><td>string</td><td></td><td>4</td><td>Mischer Verbl.</td><td><code>0x00000000</code></tr> <tr><td>68</td><td>0x4089</td><td>0x4088</td><td>float</td><td>°C</td><td>4</td><td>Ölkessel</td><td><code>0x42f00000</code>120.00</td></tr> <tr><td>69</td><td>0x408b</td><td>0x408a</td><td>string</td><td></td><td>4</td><td>Programm</td><td><code>0x5761726d</code>Warm</tr> <tr><td>70</td><td>0x408d</td><td>0x408c</td><td>string</td><td></td><td>4</td><td>Progamm HK0</td><td><code>0x41555300</code>AUS</tr> <tr><td>71</td><td>0x408f</td><td>0x408e</td><td>string</td><td></td><td>4</td><td>Progamm HK1</td><td><code>0x41555300</code>AUS</tr> <tr><td>72</td><td>0x4091</td><td>0x4090</td><td>string</td><td></td><td>4</td><td>Progamm HK2</td><td><code>0x41555300</code>AUS</tr> <tr><td>73</td><td>0x4093</td><td>0x4092</td><td>string</td><td></td><td>4</td><td>Progamm HK3</td><td><code>0x41555300</code>AUS</tr> <tr><td>74</td><td>0x4095</td><td>0x4094</td><td>string</td><td></td><td>4</td><td>Progamm HK4</td><td><code>0x41555300</code>AUS</tr> <tr><td>75</td><td>0x4097</td><td>0x4096</td><td>string</td><td></td><td>4</td><td>Progamm HK5</td><td><code>0x41555300</code>AUS</tr> <tr><td>76</td><td>0x4099</td><td>0x4098</td><td>string</td><td></td><td>4</td><td>Progamm HK6</td><td><code>0x41555300</code>AUS</tr> <tr><td>77</td><td>0x409b</td><td>0x409a</td><td>string</td><td></td><td>4</td><td>Progamm HK7</td><td><code>0x41555300</code>AUS</tr> <tr><td>78</td><td>0x409d</td><td>0x409c</td><td>string</td><td></td><td>4</td><td>Progamm HK8</td><td><code>0x41555300</code>AUS</tr> <tr><td>81</td><td>0x40a3</td><td>0x40a2</td><td>int</td><td></td><td>4</td><td>Serial</td><td><code>0x0007a984</code>502148</td></tr> <tr><td>83</td><td>0x40a7</td><td>0x40a6</td><td>int</td><td>h</td><td>4</td><td>Betriebsstunden</td><td><code>0x00000642</code>1602</td></tr> <tr><td>84</td><td>0x40a9</td><td>0x40a8</td><td>int</td><td>d</td><td>4</td><td>Servicezeit</td><td><code>0x000000af</code>175</td></tr> <tr><td>88</td><td>0x40b1</td><td>0x40b0</td><td>float</td><td>°C</td><td>4</td><td>Zusatzwarmw. 0</td><td><code>0x42f00000</code>120.00</td></tr> <tr><td>89</td><td>0x40b3</td><td>0x40b2</td><td>float</td><td>°C</td><td>4</td><td>Zusatzwarmw. 1</td><td><code>0xc1a00000</code>-20.00</td></tr> <tr><td>90</td><td>0x40b5</td><td>0x40b4</td><td>float</td><td>°C</td><td>4</td><td>Zusatzwarmw. 2</td><td><code>0xc1a00000</code>-20.00</td></tr> <tr><td>91</td><td>0x40b7</td><td>0x40b6</td><td>bool</td><td></td><td>4</td><td>P Zusatzwarmw. 0</td><td><code>0x00000000</code>0</td></tr> <tr><td>92</td><td>0x40b9</td><td>0x40b8</td><td>bool</td><td></td><td>4</td><td>P Zusatzwarmw. 1</td><td><code>0x00000000</code>0</td></tr> <tr><td>93</td><td>0x40bb</td><td>0x40ba</td><td>bool</td><td></td><td>4</td><td>P Zusatzwarmw. 2</td><td><code>0x00000000</code>0</td></tr> <tr><td>94</td><td>0x40bd</td><td>0x40bc</td><td>float</td><td>°C</td><td>4</td><td>Vorlauf Ist 0</td><td><code>0x42380000</code>46.00</td></tr> <tr><td>95</td><td>0x40bf</td><td>0x40be</td><td>float</td><td>°C</td><td>4</td><td>Vorlauf Ist 3</td><td><code>0x42380000</code>46.00</td></tr> <tr><td>96</td><td>0x40c1</td><td>0x40c0</td><td>float</td><td>°C</td><td>4</td><td>Vorlauf Ist 6</td><td><code>0x42380000</code>46.00</td></tr> <tr><td>97</td><td>0x40c3</td><td>0x40c2</td><td>float</td><td>°C</td><td>4</td><td>Puffer oben 0</td><td><code>0xc1a00000</code>-20.00</td></tr> <tr><td>98</td><td>0x40c5</td><td>0x40c4</td><td>float</td><td>°C</td><td>4</td><td>Puffer unten 0</td><td><code>0xc1a00000</code>-20.00</td></tr> <tr><td>99</td><td>0x40c7</td><td>0x40c6</td><td>float</td><td>°C</td><td>4</td><td>Puffer oben 1</td><td><code>0xc1a00000</code>-20.00</td></tr> <tr><td>100</td><td>0x40c9</td><td>0x40c8</td><td>float</td><td>°C</td><td>4</td><td>Puffer unten 1</td><td><code>0xc1a00000</code>-20.00</td></tr> <tr><td>101</td><td>0x40cb</td><td>0x40ca</td><td>float</td><td>°C</td><td>4</td><td>Puffer oben 2</td><td><code>0xc1a00000</code>-20.00</td></tr> <tr><td>102</td><td>0x40cd</td><td>0x40cc</td><td>float</td><td>°C</td><td>4</td><td>Puffer unten 2</td><td><code>0xc1a00000</code>-20.00</td></tr> <tr><td>103</td><td>0x40cf</td><td>0x40ce</td><td>bool</td><td></td><td>4</td><td>Fernpumpe 0</td><td><code>0x00000000</code>0</td></tr> <tr><td>104</td><td>0x40d1</td><td>0x40d0</td><td>bool</td><td></td><td>4</td><td>Fernpumpe 1</td><td><code>0x00000000</code>0</td></tr> <tr><td>105</td><td>0x40d3</td><td>0x40d2</td><td>bool</td><td></td><td>4</td><td>Fernpumpe 2</td><td><code>0x00000000</code>0</td></tr> </tbody></table> <h2>Erweiterte Texte</h2><table> <thead> <tr><th>Id</th><th>Register</th><th>Adresse</th><th>Größe<br>(Byte)</th><th>Name</th><th>aktueller Wert</th></tr> </thead> <tbody> <tr><td>1</td><td>0x5001</td><td>0x5000</td><td>64</td><td>Betrieb</td><td>STANDBY</td></tr> <tr><td>67</td><td>0x50e1</td><td>0x50e0</td><td>64</td><td>Mischer Verbl.</td><td> </td></tr> <tr><td>69</td><td>0x5101</td><td>0x5100</td><td>64</td><td>Programm</td><td>Warmwasser</td></tr> <tr><td>70</td><td>0x5121</td><td>0x5120</td><td>64</td><td>Progamm HK0</td><td>AUS</td></tr> <tr><td>71</td><td>0x5141</td><td>0x5140</td><td>64</td><td>Progamm HK1</td><td>AUS</td></tr> <tr><td>72</td><td>0x5161</td><td>0x5160</td><td>64</td><td>Progamm HK2</td><td>AUS</td></tr> <tr><td>73</td><td>0x5181</td><td>0x5180</td><td>64</td><td>Progamm HK3</td><td>AUS</td></tr> <tr><td>74</td><td>0x51a1</td><td>0x51a0</td><td>64</td><td>Progamm HK4</td><td>AUS</td></tr> <tr><td>75</td><td>0x51c1</td><td>0x51c0</td><td>64</td><td>Progamm HK5</td><td>AUS</td></tr> <tr><td>76</td><td>0x51e1</td><td>0x51e0</td><td>64</td><td>Progamm HK6</td><td>AUS</td></tr> <tr><td>77</td><td>0x5201</td><td>0x5200</td><td>64</td><td>Progamm HK7</td><td>AUS</td></tr> <tr><td>78</td><td>0x5221</td><td>0x5220</td><td>64</td><td>Progamm HK8</td><td>AUS</td></tr> </tbody></table></body></html>

    1. Hallo Johann,

      sofern du es noch nicht hingebracht hast, empfehle ich dir, deinen Beitrag im LoxForum einzustellen. Das Wiki hat dokumentatischen Charakter und sollte eigentlich nicht für Hilfegesuche verwendet werden.

      Es ist in einem Thread höchst wichtig, dass das unveränderte Original-HTML (inkl. Zeilenumbrüche usw.) verwendet wird - also das File am besten im Browser speichern und hochladen. 

      Ad hoc (aber bitte nicht hier ausdiskutieren) würde ich als Befehlserkennung verwenden:

      Kesseltemperatur\i</code>\i\v