[gelöst] Ökofen Pelletheizung einbinden über HTTPMOD

Begonnen von JueFi, 08 November 2014, 11:43:21

Vorheriges Thema - Nächstes Thema

JueFi

Hallo zusammen,

wie heißt es so schön "I'm new to FHEM" ;-)

Ich habe mich mal ein bisschen eingelesen und versuche abzuschätzen, ob sich ein Einstieg lohnt.

Ich habe folgende Heizung:
Ökofen Pellematic kombiniert mit Solarkollektoren, die ebenfalls an der Heizungssteuerung angeschlossen sind.
Folgende Infos finde ich zur Steuerung:
Bedienteil   Touch V02.00j 20131401 V02.00m 20130910
CMP1 TO_VA640   (Kesselsteuerung)
HKR1 BOOTLOADER: Lpc17xxBootloader_0.12
HKR1 FIRMWARE: IM110_FW_0.07


Ich möchte folgendes tun:
1. Auslesen von Messwerten zur grafischen Darstellung
- Ob die Steuerung eine Schnittstelle hat die das kann, weiß ich leider nicht
- Die Daten sind im Web-Interface verfügbar. Ob man die auslesen kann bin ich mir aber nicht sicher. Im Source-Text der Seite sehe ich die nicht.
- Die Anlage schreibt jede Minute einen Log-Datensatz auf einen USB-Stick. Gibt es vielleicht ein Gerät, dass sich einerseits wie ein USB-Stick verhält, aber andererseits per IP ansprechbar ist, um Dateien zu übertragen, die auf dem Stick sind.

**************
2. Würde ich gern abhängig von Wetterdaten und Messwerten die Heizung umprogrammieren.
Also im einfachsten Fall, den Start des Pelletbrenners verzögern um auf die Sonne zu warten. Falls eine Mindesttemperatur unterschritten wird, den Brennner freigeben.
Ich brauche also "schreibenden" Zugriff auf die Heizungs-Steuerung.
- Entweder über eine Schnittstelle, sofern es die gibt
- oder über das Web-Interface.


Hat jemand Erfahrungen oder Ideen ?
Jede Rückmeldung ist willkommen.

Herzliche Grüße

Jürgen

Lösungsansatz:

  • Über die HTTPMOD Methode von Stefan - Danke :D - kann ich nun beliebige Werte aus der Steuerung der Heizung auslesen. (siehe Beispielgrafik)
  • Ebenso ist es möglich Änderungen in die Steuerung zu schreiben (z.B. Änderung der Betriebsart der Pellematic)
Als Basis für einen Start können diese Zeilen dienen
# ------ PelletHeizung

# regelmaessiges Abfragen von Werten (alle 180 Sekunden)
define PHeiz HTTPMOD http://<Deine IP>/?action=get&attr=1 180
# Wer will, kann die Datenmenge etwas reduzieren - damit wird der Plot etwas schneller
# attr PHeiz event-min-interval .*:600
# attr PHeiz event-on-change-reading .*

attr PHeiz reAuthRegex Error 403: Forbidden
attr PHeiz reading01Expr $val / 10
attr PHeiz reading01Name AussenTemp
attr PHeiz reading01Regex CAPPL:LOCAL.L_aussentemperatur_ist","value":"(-[0-9]+|[0-9]+)"

attr PHeiz reading02Expr $val / 10
attr PHeiz reading02Name KesselTemp
attr PHeiz reading02Regex CAPPL:FA\[0\].L_kesseltemperatur","value":"([0-9]+)"

attr PHeiz reading03Expr $val / 10
attr PHeiz reading03Name HeizKreis1_VL
attr PHeiz reading03Regex CAPPL:LOCAL.L_hk\[0\].vorlauftemp_ist","value":"([0-9]+)"

attr PHeiz reading04Expr $val / 10
attr PHeiz reading04Name HeizKreis2_VL
attr PHeiz reading04Regex CAPPL:LOCAL.L_hk\[1\].vorlauftemp_ist","value":"([0-9]+)"

attr PHeiz reading05Expr $val / 10
attr PHeiz reading05Name WarmWasserTemp
attr PHeiz reading05Regex CAPPL:LOCAL.L_ww\[0\].einschaltfuehler_ist","value":"([0-9]+)"

attr PHeiz reading06Expr $val / 10
attr PHeiz reading06Name SpeicherTempOben
attr PHeiz reading06Regex CAPPL:LOCAL.L_pu\[0\].einschaltfuehler_ist","value":"([0-9]+)"

attr PHeiz reading07Expr $val / 10
attr PHeiz reading07Name SpeicherTempMitte
attr PHeiz reading07Regex CAPPL:LOCAL.L_pu\[0\].ausschaltfuehler_ist","value":"([0-9]+)"

attr PHeiz reading08Expr $val / 10
attr PHeiz reading08Name SpeicherTempUnten
attr PHeiz reading08Regex CAPPL:LOCAL.L_sk\[0\].speichertemp_ist","value":"([0-9]+)"

attr PHeiz reading09Expr $val / 10
attr PHeiz reading09Name KollektorTemp
attr PHeiz reading09Regex CAPPL:LOCAL.L_sk\[0\].kollektortemp_ist","value":"(-[0-9]+|[0-9]+)"

# Status 0 statt 99 für "Aus" macht sich besser im Plot
attr PHeiz reading10Expr { $val % 99 }
attr PHeiz reading10Name KesselStatus
attr PHeiz reading10Regex CAPPL:FA\[0\].L_kesselstatus","value":"([0-9]+)"

attr PHeiz reading11Expr $val
attr PHeiz reading11Name SaugIntervall
attr PHeiz reading11Regex CAPPL:FA\[0\].L_saugintervall","value":"([0-9]+)"

attr PHeiz reading12Expr $val
attr PHeiz reading12Name BrennerLaufZeit
attr PHeiz reading12Regex CAPPL:FA\[0\].L_brennerlaufzeit_anzeige","value":"([0-9]+)"

attr PHeiz reading13Expr $val / 10
attr PHeiz reading13Name SolarErtrag
attr PHeiz reading13Regex CAPPL:LOCAL.ertrag\[0\].leistung_tag","value":"([0-9]+)"

attr PHeiz requestData ["CAPPL:LOCAL.L_aussentemperatur_ist","CAPPL:FA[0].L_kesseltemperatur","CAPPL:LOCAL.L_hk[0].vorlauftemp_ist","CAPPL:LOCAL.L_hk[1].vorlauftemp_ist","CAPPL:LOCAL.L_ww[0].einschaltfuehler_ist","CAPPL:LOCAL.L_pu[0].einschaltfuehler_ist","CAPPL:LOCAL.L_pu[0].ausschaltfuehler_ist","CAPPL:LOCAL.L_sk[0].speichertemp_ist","CAPPL:LOCAL.L_sk[0].kollektortemp_ist","CAPPL:FA[0].L_kesselstatus","CAPPL:FA[0].L_kesselstatus","CAPPL:FA[0].L_saugintervall","CAPPL:FA[0].L_brennerlaufzeit_anzeige","CAPPL:LOCAL.ertrag[0].leistung_tag"]

attr PHeiz requestHeader1 Accept-Language: de
attr PHeiz requestHeader2 Cookie: language=de;; pksession=$sid
attr PHeiz room Heizung

attr PHeiz timeout 10

# für das Setzen eines Wertes (Betriebsart der Pellematic)
attr PHeiz set1Data {"CAPPL:FA[0].betriebsart_fa":"$val"}
attr PHeiz set1Map 0:Aus,1:Auto,2:Ein
attr PHeiz set1Name Betriebsart
attr PHeiz setHeader1 Accept-Language: de
attr PHeiz setHeader2 Cookie: language=de;; pksession=$sid
attr PHeiz setReAuthRegex Error 403: Forbidden
attr PHeiz setURL http://<Deine IP>/?action=set

# für die Anmeldung
attr PHeiz sidURL http://<Deine IP>/index.cgi
attr PHeiz sid1Data username=DeinUser&password=DeinGeheimesPasswort&language=de&submit=Anmelden
attr PHeiz sid1Header1 Accept-Language: de
attr PHeiz sid1IDRegex pksession=([0-9]+);;
attr PHeiz sid1IgnoreRedirects 1

# Logging
define FileLog_PHeiz FileLog ./log/PHeiz-%Y-%m.log PHeiz
attr FileLog_PHeiz room Heizung

# Plots
define SVG_FileLog_PHeiz_1 SVG FileLog_PHeiz:SVG_FileLog_PHeiz_1:CURRENT
attr SVG_FileLog_PHeiz_1 label sprintf("AußenTemp- Min: %.1f / Max: %.1f / Dif: %.1f / Akt: %.1f", $data{min8}, $data{max8}, $data{max8}-$data{min8}, $data{currval8})
attr SVG_FileLog_PHeiz_1 room Heizung
attr SVG_FileLog_PHeiz_1 title "Heizung"

define SVG_FileLog_PHeiz_2 SVG FileLog_PHeiz:SVG_FileLog_PHeiz_2:CURRENT
attr SVG_FileLog_PHeiz_2 label sprintf("BrennerStd Heute: %.0f / Sum: %.0f / SolarErtrag: %.1f kWh", $data{currval3}-$data{min3}, $data{currval3}, $data{max4})
attr SVG_FileLog_PHeiz_2 room Heizung
attr SVG_FileLog_PHeiz_2 title "Heizung 2"


Im Anhang noch ein Screenshot, wie ein Plot aussehen könnte und die Plot-Dateien
EDIT: 15.12.14:
- Ein paar weitere Werte abgefragt
- Anzeige der Außentemperatur über dem Plot
- Anzeige der "BrennerStunden Heute" über dem Plot
- Anzeige des "Solarertrags Heute" über dem Plot
EDIT: 27.12.14: Negative Werte in der Außen- und Kollektor-Temperatur verarbeiten (Danke an Moonraker1)
EDIT: 17.4.16: Folgende zusätzliche Zeile ist mittlerweile in meiner fhem.cfg - ich habe die nicht erzeugt, wurde evtl. durch ein Update erzeugt
attr PHeiz userattr event-min-interval event-on-change-reading reAuthRegex reading01Expr reading01Name reading01Regex reading02Expr reading02Name reading02Regex reading03Expr reading03Name reading03Regex reading04Expr reading04Name reading04Regex reading05Expr reading05Name reading05Regex reading06Expr reading06Name reading06Regex reading07Expr reading07Name reading07Regex reading08Expr reading08Name reading08Regex reading09Expr reading09Name reading09Regex reading10Expr reading10Name reading10Regex reading11Expr reading11Name reading11Regex reading12Expr reading12Name reading12Regex reading13Expr reading13Name reading13Regex requestData requestHeader1 requestHeader2 set1Data set1Map set1Name setHeader1 setHeader2 setReAuthRegex setURL sid1Data sid1Header1 sid1IDRegex sid1IgnoreRedirects sidURL timeout


Hier noch eine Anleitung zum Finden und Auslesen weiterer Werte.
http://forum.fhem.de/index.php/topic,28844.msg234170.html#msg234170

EDIT: 16.01.18: Die Werte für den "Kesselstatus" sind
1 Softstart
2 Zündung
4 Leistungsbrand
5 Nachlauf

7 Saugen
99 Aus

drdownload

Wenn das Ding ein Webinterface hat ist es schon mal gut, wenn du die Daten nciht direkt in der Source siehst, werden sie wahrscheinlich über JS nachgeladen oder das ist ein Flash Applet geladen. Wenn man das Ding über Web-Interface nicht steuern kann ist es natürlich schon mal schwer diesen Teil abzudecken. Für die meisten Heizung gibt es aber Module um zb über GSM zu steuern (Bluetooth bei Pelletsöfen die Wohnzimmer stehen, aber ja hier nicht der Fall ist)
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

drdownload

Ok, die Daten rauskriegen kann keine Zauberei sein, hier hätte jemand ein Python Skript geschrieben (nicht für FHEM, aber prinzipiell) das die Infos parst und in einen RRD Chart packt.
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

JueFi

Man kann es schon über das WebInterface steuern.
Hier habe ich eine Idee bekommen http://forum.fhem.de/index.php/topic,24876.msg179586.html#msg179586
und mal einen WireShark-Trace gemacht, in dem man sieht, wie der Refresh läuft, wenn man auf einer Seite steht.

Ich habe mal mit AutoIt versucht das nachzubilden, da komme ich aber nicht über die Anmeldung am WebInterface hinweg.
Wenn ich versuche, den Refresh aufzurufen kommt HTTP Code 403 zurück.

Wie kann ich den Trace hochladen ?

JueFi

Zitat von: drdownload am 08 November 2014, 20:39:23
Ok, die Daten rauskriegen kann keine Zauberei sein, hier hätte jemand ein Python Skript geschrieben (nicht für FHEM, aber prinzipiell) das die Infos parst und in einen RRD Chart packt.
Kann ich mir das Script mal anschauen ?

drdownload

CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

JueFi

Besten Dank  :D
Das sieht sehr vielversprechenden aus.
Mal schauen was ich daraus machen kann

drdownload

#7
Hi, uU könntest du Dir ja den Umweg über MQTT ansehen. Ich hätte jetzt zB gedacht, dass man die Daten mit einer Abwandlung des Pythonskripts holt und über das MQTT Modul in FHEM reinpusht (das Steuern wäre so auch möglich -> http://www.cloudmqtt.com/docs-python.html (wäre für die Umsetzungsdauer wohl das schnellste)
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

JueFi

Ich habe jetzt ein Python Script (im Moment unter Windows laufen, da mein Raspberry es noch nicht bis zu mir geschafft hat :-( )
>    pellematic-temp.py
Der Output sieht so aus
Outside_Temp_Act.value 9.70
Boiler_Temp.value 62.60
Boiler_Temp_Set.value 8.00
TPO_Act.value 53.70
TPO_Set.value 48.10
TPM_Act.value 32.70
TPM_Set.value 48.10
Flow_Temp_Act.value 42.50
Flow_Temp_Set.value 43.10
Room_Temp_Heating.value 22.00
Room_Temp_Set_Back_Set.value 18.00
H_Limit_Heating.value 18.00
H_Limit_Set_Back.value -5.00
Flow_Temp_Act.value 38.50
Flow_Temp_Set.value 43.10
Room_Temp_Heating.value 22.00
Room_Temp_Set_Back_Set.value 18.00
H_Limit_Heating.value 18.00
H_Limit_Set_Back.value -5.00
Switch_On_Sensor_Act.value 61.20

Wie würde ich die Daten in FHEM bekommen, um Grafiken zu erzeugen ?

JueFi

Hallo zusammen

nachdem es nun die erweiterte Version von HTTPMOD gibt, denke ich, dass wäre der richtige Ansatz.
Zuerst bräuchte ich mal Hilfe, um mich erfolgreich einzuloggen und Werte abzufragen.
Die Kür wird dann das setzen von Werten.
Ich habe das mal in 3 Schritte aufgeteilt die ich mit Burp aufgezeichnet habe.
Ich hoffe das reicht so
1. Aufruf der URL http://192.168.68.250
2. Einloggen
3. Setzen der Betriebsart

Ich teile das mal in mehrere Posts auf

Aufruf http://192.168.68.250

GET /lang/language.cgi?nojquery=1 HTTP/1.1
Host: 192.168.68.250
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://192.168.68.250/login.cgi
Cookie: language=de
Connection: keep-alive



HTTP/1.1 200 OK
Connection: keep-alive
Content-Type: text/javascript; charset=utf-8

var Lang = {
__current: "de",
__available: {
"de": "Deutsch"
,
"en": "English"
,
"fr": "Francais"
,
"it": "Italiano"
,
"nl": "Nederlands"
,
"cs": "Cestina"
,
"es": "Espanol"
,
"da": "Dansk"
,
"ru": "pyccknn"
}
,
"Anmelden": "Anmelden"
,
"Benutzername": "Benutzername"
,
"Passwort": "Passwort"
,
"Sprache": "Sprache"
,
"LoginFehler": "Sie konnten nicht angemeldet werden. Bitte prüfen Sie Ihre Eingaben."
,
"SeiteWirdGeladen": "Die Seite wird geladen, bitte warten..."
,
"SeiteNichtGefunden_Titel": "Seite nicht gefunden"
,
"SeiteNichtGefunden_Text": "Die von Ihnen gewünschte Seite konnte leider nicht gefunden werden."
,
"Kommunikationsprobleme_Titel": "Kommunikationsprobleme"
,
"Kommunikationsprobleme_Text": "Bitte prüfen Sie Ihre Verbindung zur Pelletronic."
,
"Abmelden": "Abmelden"
,
"Messwerte": "Messwerte"
,
"Ist": "Ist"
,
"Soll": "Soll"
,
"Meldungen": "Meldungen"
,
"Aussentemperatur": "Außentemperatur"
,
"PU_TPO": "PU$ TPO"
,
"PU_TPM": "PU$ TPM"
,
"PU_Pumpe": "PU$ Pumpe"
,
"HK_Vorlauftemp": "HK$ Vorlauftemperatur"
,
"HK_Raumtemp": "HK$ Raumtemperatur"
,
"HK_Pumpe": "HK$ Pumpe"
,
"SO_Kollektortemp": "SO$ Kollektortemp"
,
"SO_SpeicherUnten1": "SO$ Speicher Unten 1"
,
"SO_SpeicherUnten2": "SO$ Speicher Unten 2"
,
"SO_Pumpe1": "SO$ Pumpe 1"
,
"SO_Pumpe2": "SO$ Pumpe 2"
,
"SO_Vorlauftemp": "SO$ Vorlauftemp"
,
"SO_Ruecklauftemp": "SO$ Rücklauftemp"
,
"SO_Durchfluss": "SO$ Durchfluss"
,
"SO_Ertrag": "SO$ Ertrag"
,
"Hauptmenue": "Hauptmenü"
,
"Betriebsart": "Betriebsart"
,
"Heizkreis": "Heizkreis $"
,
"Solar": "Solar $"
,
"Puffer": "Puffer $"
,
"Code": "Code"
,
"Anlage": "Anlage"
,
"SO_Solarkreis1": "SO$ Solarkreis 1"
,
"SO_Solarkreis2": "SO$ Solarkreis 2"
,
"Raumtemp_Heizen": "Raumtemp Heizen"
,
"Raumtemp_Absenken": "Raumtemp Absenken"
,
"Zeitauswahl": "Zeitauswahl"
,
"Zeit": "Zeit $"
,
"Party": "Party"
,
"Urlaub": "Urlaub"
,
"Heizkurve": "Heizkurve"
,
"Einstellungen": "Einstellungen"
,
"Partyprogramm": "Partyprogramm"
,
"Endzeit": "Endzeit"
,
"Urlaubsprogramm": "Urlaubsprogramm"
,
"RaumtempUrlaub": "Raumtemp Urlaub"
,
"Startzeit": "Startzeit"
,
"Fusspunkt": "Fußpunkt"
,
"Heizgrenze_Heizen": "Heizgrenze Heizen"
,
"Heizgrenze_Absenken": "Heizgrenze Absenken"
,
"Vorhaltezeit": "Vorhaltezeit"
,
"Raumfuehlereinfluss": "Raumfühlereinfluss"
,
"RaumtempHysterese": "Raumtemp Hysterese"
,
"Vorlauftemp_Max": "Vorlauftemp Max"
,
"Vorlauftemp_Min": "Vorlauftemp Min"
,
"Ueberhoehung": "Überhöhung"
,
"MischerVorhanden": "Mischer vorhanden"
,
"MischerAuf": "Mischer Auf"
,
"MischerAus": "Mischer Aus"
,
"MischerZu": "Mischer Zu"
,
"RegelbereichKT": "Regelbereich KT"
,
"RegelbereichVL": "Regelbereich VL"
,
"KesseltempAnstieg": "<strong>Kesseltemp Verlauf</strong><br />Temp Anstieg"
,
"KesseltempRegelbereich": "<strong>Kesseltemp Verlauf</strong><br />Regelbereich"
,
"Kreis1": "Kreis 1"
,
"Kreis2": "Kreis 2"
,
"Speichertemp_Max": "Speichertemperatur Max"
,
"SpeicherHyst": "Speicher Hysterese"
,
"KollektorHyst_Ein": "Kollektor Hyst Ein"
,
"KollektorHyst_Aus": "Kollektor Hyst Aus"
,
"AbschaltungUeberhitzung": "<strong>Solarabschaltung</strong><br />Kollektorüberhitzung"
,
"SpuelvorgangStart": "<strong>Spülvorgang</strong><br />Startzeit"
,
"PrioLaufzeit": "<strong>Prio</strong><br />Laufzeit"
,
"PuffertempMinEin": "Puffertemp Min Ein"
,
"AbnehmerpumpeFreigabetemp": "<strong>Abnehmerpumpe</strong><br />Freigabetemperatur"
,
"PufferladeNachlaufzeit": "<strong>Pufferladepumpe</strong><br />Nachlaufzeit"
,
"Internet": "Internet"
,
"MailZusatzinfo": "Mail Zusatzinfo"
,
"Postausgang": "Postausgang"
,
"MailBenutzer": "Mail Benutzer"
,
"MailPasswort": "Mail Passwort"
,
"MailEmpfaenger": "Mail Empfänger $"
,
"Codeeingabe": "Codeeingabe"
,
"Zeitformat": "HH:mm"
,
"StundenFormat": "24"
,
"Datumsformat": "dd.MM.yyyy"
,
"Dezimaltrenner": ","
,
"Nummerngruppentrenner": "."
,
"ZeitWaehlen": "Zeit wählen"
,
"Zeitangabe": "Zeit"
,
"Stunde": "Stunde"
,
"Minute": "Minute"
,
"Sekunde": "Sekunde"
,
"Jetzt": "Jetzt"
,
"Fertig": "Fertig"
,
"OK": "OK"
,
"Abbrechen": "Abbrechen"
,
"Info_Bereich": "Der Wert muss zwischen {min} und {max} {einheit} liegen."
,
"Info_Passwort": "Passwort und Passwortwiederholung müssen identisch und nicht leer sein."
,
"Info_Text": "Der Wert darf nicht leer sein."
,
"NeuesPasswort": "Neues Passwort"
,
"NeuesPasswortWiederholung": "Neues Passwort (Wiederholung)"
,
"WertWirdGespeichert": "Wert wird gespeichert..."
,
"WertGespeichert_Erfolg": "Wert erfolgreich gespeichert."
,
"WertGespeichert_Fehler_Titel": "Fehler beim Speichern des Wertes"
,
"WertGespeichert_Fehler_Text": "Prüfen Sie Ihre Eingabe und die Verbindung zur Pelletronic."
,
"CodeWirdGeprueft": "Code wird geprüft..."
,
"CodeGeprueft_Erfolg_Titel": "Code akzeptiert"
,
"CodeGeprueft_Erfolg_Text": "Codeebene $ freigeschaltet"
,
"CodeGeprueft_Fehler": "Der angegebene Code ist ungültig."
,
"Warmwasser": "Warmw $"
,
"Einmal_Aufbereiten": "Einmal Aufbereiten"
,
"Wassertemp_Soll": "Wassertemp Soll"
,
"Wassertemp_Min": "Wassertemp Min"
,
"PE_Kesseltemperatur": "PE$ Kesseltemperatur"
,
"PE_Abgastemperatur": "PE$ Abgastemperatur"
,
"PE_Feuerraumtemperatur": "PE$ Feuerraumtemperatur"
,
"PE_Kesselstatus": "PE$ Kesselstatus"
,
"PE_Einschubzeit": "PE$ Einschubzeit"
,
"PE_Pausenzeit": "PE$ Pausenzeit"
,
"PE_Luefter_Drehzahl": "PE$ Lüfter Drehzahl"
,
"PE_Abgasgebl_Drehzahl": "PE$ Abgasgebl Drehzahl"
,
"PE_Unterdruck": "PE$ Unterdruck"
,
"PE_Drehzahl_UW": "PE$ Drehzahl UW"
,
"PE_Brennerkontakt": "PE$ Brennerkontakt"
,
"PE_Kap_RA": "PE$ Kap RA"
,
"PE_Kap_ZW": "PE$ Kap ZW"
,
"PE_Brandschutzklappe": "PE$ Brandschutzklappe"
,
"PE_Best_Kessel": "PE$ Best Kessel"
,
"PE_Zuendtemperatur": "PE$ Zündtemperatur"
,
"PE_Akt_Zuendzeit": "PE$ Akt Zündzeit"
,
"PE_Fuellst_Aktuell": "PE$ Füllst Aktuell"
,
"PE_Fuellst_Zwischenb": "PE$ Füllst Zwischenb"
,
"PE_Pelletsfuellstand": "PE$ Pelletsfüllstand"
,
"PE_Brennerstarts": "PE$ Brennerstarts"
,
"PE_Brennerlaufzeit": "PE$ Brennerlaufzeit"
,
"PE_Mittlere_Laufzeit": "PE$ Mittlere Laufzeit"
,
"PE_Stillstandszeit": "PE$ Stillstandszeit"
,
"PE_Anzahl_Zuendung": "PE$ Anzahl Zündung"
,
"PE_Saugintervall": "PE$ Saugintervall"
,
"PE_Turbine": "PE$ Turbine"
,
"PE_Gluehstab": "PE$ Glühstab"
,
"PE_Motor_Asche": "PE$ Motor Aschebox"
,
"PE_Motor_Reinigung": "PE$ Motor_Reinigung"
,
"PE_Stoermelderelais": "PE$ Störmelderelais"
,
"PE_Motor_RA1": "PE$ Motor RA1"
,
"PE_Motor_Res1": "PE$ Motor Res1"
,
"PE_Motor_Einschub": "PE$ Motor Einschub"
,
"PE_Magnetventil": "PE$ Magnetventil"
,
"PE_Drehzahl_Frischw": "PE$ Drehzahl Frischw"
,
"PE_Frischw_Temp": "PE$ Frischwasser Temp"
,
"PE_Drehzahl_Asche": "PE$ Drehzahl Asche"
,
"Messwerte": "Messwerte"
,
"Pellematic": " Pellematic $"
,
"Vorrang": "Vorrang"
,
"Ueberhoehung": "Überhöhung"
,
"Nachlaufzeit": "Nachlaufzeit"
,
"Einschalthysterese": "Einschalthysterese"
,
"Legionellenschutz": "Legionellenschutz"
,
"Zuendung": "Zuendung"
,
"Leistungsbrand": "Leistungsbr"
,
"Nachlauf": "Nachlauf"
,
"Entaschung": "Entaschung"
,
"Reinigung": "Reinigung"
,
"Saugturbine": "Saugturbine"
,
"Frischwasser": "Frischwasser"
,
"Unterdruck": "Unterdruck"
,
"FRT_Control": "FRT Control"
,
"Fuellstand": "Füllstand"
,
"Umwaelzpumpe": "Umwälzp"
,
"Ausgaenge": "Ausgaenge"
,
"Einstellungen": "Einstellungen"
,
"Einschubzeit": "Einschubzeit"
,
"Pausenzeit": "Pausenzeit"
,
"Luefter": "Lüfter"
,
"Abgasgeblaese": "Abgasgebläse"
,
"Hyst_Abgastemperatur": "Hysterese Abgastemp"
,
"Min_Abgastemperatur": "Min Abgastemperatur"
,
"Max_Abgastemperatur": "Max Abgastemperatur"
,
"Brennstoffkorrektur": "Brennstoffkorrektur"
,
"Luftmenge_plus": "Luftmenge ++"
,
"Abgasgeblaese_plus": "Abgasgebläse ++"
,
"Luefter_Nachlaufzeit": "Luefter Nachlaufzeit"
,
"Abgasgebl_Nachlaufzeit": "Abgasgebl Nachlaufzeit"
,
"AGT_KT_Luefter_aus": "AGT + KT Lüfter aus"
,
"AGT_KT_Abgasgebl_aus": "AGT + KT Abgasgebl aus"
,
"FRT_KT_Luefter_aus": "FRT + KT Lüfter aus"
,
"FRT_KT_Abgasgebl_aus": "FRT + KT Abgasgebl aus"
,
"Modus": "Modus"
,
"Mindestlaufzeit": "Mindestlaufzeit"
,
"Austragungsdauer": "Austragungsdauer"
,
"Kessel_Nachlaufzeit": "Kessel Nachlaufzeit"
,
"Reinigung_Befuellung": "Reinigung / Befüllung"
,
"Reinigung2": "Reinigung 2"
,
"Reinigungszeit": "Reinigungszeit"
,
"Sollwert": "Sollwert"
,
"Fehlerzeit": "Fehlerzeit"
,
"Minimum": "Minimum"
,
"Maximum": "Maximum"
,
"Waschen": "Waschen"
,
"Verstaerkung": "<strong>PID Regler</strong><br />Verstärkung"
,
"Zeit_Integralanteil": "<strong>PID Regler</strong><br />Zeit Integralanteil"
,
"Zeit_Diff_Anteil": "<strong>PID Regler</strong><br />Zeit Diff Anteil"
,
"Min_Temperatur": "Minimum Temperatur"
,
"Sollwert_plus": "Sollwert ++"
,
"Begrenzung_oben": "Begrenzung Oben"
,
"Begrenzung_unten": "Begrenzung Unten"
,
"Schwellwert": "Schwellwert"
,
"Korrekturwert": "Korrekturwert"
,
"Fuellmenge": "Füllmenge"
,
"Freigabetemperatur": "Freigabetemperatur"
,
"Anforderungsabhaengig": "Anforderungsabhängig"
,
"Drehzahlregelung_Standard": "Drehzahlregelung"
,
"Ausschalthysterese": "Ausschalthysterese"
,
"Nachlaufzeit": "Nachlaufzeit"
,
"Regelbereich": "Regelbereich"
,
"Befuellung": "Befüllung"
,
"Takt_RA_Motor": "Takt RA Motor"
,
"Pause_RA_Motor": "Pause RA Motor"
,
"Saugintervall": "Saugintervall"
,
"Regeltemperatur": "Regeltemperatur"
,
"Abschalttemperatur": "Abschalttemperatur"
,
"AGT_Minimum": "AGT Minimum"
,
"RA_Verzoegerung": "RA Verzögerung"
,
"Brenneranforderung": "Brenneranforderung"
,
"Stoermeldemodus": "Störmeldemodus"
,
"Kap_RA_aktiv": "<strong>Kapazitiver Sensor</strong><br />RA aktiv"
,
"Kap_ZW_aktiv": "<strong>Kapazitiver Sensor</strong><br />ZW aktiv"
,
"Turbine": "Turbine"
,
"Gluehstab": "Glühstab"
,
"Aschebox": "Aschebox"
,
"Magnetvent": "Magnetvent"
,
"Reinigung": "Reinigung"
,
"Abgasgeblaese": "Abgasgebläse"
,
"Umwaelzp": "Umwälzp"
,
"Raumaustr": "Raumaustr"
,
"Einschub": "Einschub"
,
"Luefter": "Lüfter"
,
"Brandsich": "Brandsich"
,
"Frischwasser": "Frischwasser"
,
"Reserve1": "Reserve1"
,
"Schichtung": "Schichtung"
,
"Stromschwelle_Min": "Stromschwelle Min"
,
"Stromschwelle_Max": "Stromschwelle Max"
,
"Fehlerzeit_Min": "Fehlerzeit Min"
,
"Fehlerzeit_Max": "Fehlerzeit Max"
,
"Strom_Istwert": "Strom Istwert"
,
"Spannung_Istwert": "Spannung Istwert"
,
"Betriebsstunden": "Betriebsstunden"
,
"Soft_Temp_Aenderung_dt_dT": "<strong>Softstart</strong><br />Temp Änderung dt/dT"
,
"Soft_Luftmenge": "<strong>Softstart</strong><br />Lüfter"
,
"Soft_Abgasgeblaese": "<strong>Softstart</strong><br />Abgasgebläse"
,
"Startzeit_Zuendung": "<strong>Einschubzyklus</strong><br />Startzeit Zündung"
,
"BSK_1_zu": "<strong>Einschubzyklus</strong><br />BSK 1er Versuch Zu"
,
"BSK_2_auf": "<strong>Einschubzyklus</strong><br />BSK 2er Versuch Auf"
,
"BSK_2_zu": "<strong>Einschubzyklus</strong><br />BSK 2er Versuch Zu"
,
"BSK_3_auf": "<strong>Einschubzyklus</strong><br />BSK 3er Versuch Auf"
,
"BSK_3_zu": "<strong>Einschubzyklus</strong><br />BSK 3er Versuch Zu"
,
"BSK_4_auf": "<strong>Einschubzyklus</strong><br />BSK 4er Versuch Auf"
,
"BSK_4_zu": "<strong>Einschubzyklus</strong><br />BSK 4er Versuch Zu"
,
"Zeit_Flamm": "Zeit Flammüberwachung"
,
"Regelzeit_auf": "Regelzeit Auf"
,
"Regelzeit_ab": "Regelzeit Ab"
,
"Zeit_Sollwerterhoehung": "Zeit Sollwerterhöhung"
,
"Max_Saugzeit": "Maximale Saugzeit"
,
"RA_Nachlaufzeit": "Nachlaufzeit RA"
,
"Kessel_min_Laufzeit": "Kessel min Laufzeit"
,
"Min_Laufz_ohne_Zuend": "Min Laufz ohne Zuend"
,
"Ansprechzeit_Kap_ZWB": "<strong>Kapazitiver Sensor</strong><br />Ansprechz ZWB"
,
"Ansprechzeit_Kap": "<strong>Kapazitiver Sensor</strong><br />Ansprechzeit"
,
"Belueftung_Zeit": "<strong>Belüftung</strong><br />Zeit"
,
"Belueftung_Luefter": "<strong>Belüftung</strong><br />Lüfter"
,
"Belueftung_Abgasgebl": "<strong>Belüftung</strong><br />Abgasgebl"
,
"Einschub_min": "<strong>Grenzen</strong><br />Einschub Minimum"
,
"Luefter_min": "<strong>Grenzen</strong><br />Lüfter Minimum"
,
"Abgasgebl_min": "<strong>Grenzen</strong><br />Abgasgebl Minimum"
,
"Waschdauer": "Waschdauer"
,
"PE_Strom_Istwert": "Strom Istwert"
,
"PE_Spannung_Istwert": "Spannung Istwert"
,
"PE_Betriebsstunden": "Betriebsstunden"
,
"WW_Ein_Temp": "WW$ Ein Temperatur"
,
"WW_Aus_Temp": "WW$ Aus Temperatur"
,
"WW_Pumpe": "WW$ Pumpe"
,
"KollektorregelungModus": "<strong>Kollektorregelung</strong><br />Modus"
,
"KollektorregelungMinTemp": "<strong>Kollektorregelung</strong><br />Minimum Temp"
,
"KollektorregelungRegelbereich": "<strong>Kollektorregelung</strong><br />Regelbereich"
,
"AbschaltungHyst": "<strong>Solarabschaltung</strong><br />Kollektor Hyst"
,
"PumpeVentil": "<strong>Pumpe</strong><br />Pumpe/Ventil"
,
"Pumpentyp": "<strong>Pumpe</strong><br />Pumpentyp"
,
"Drehzahlregelung": "<strong>Pumpe</strong><br />Drehzahlregelung"
,
"KollektorschutzModus": "<strong>Kollektorschutz</strong><br />Modus"
,
"KollektorschutzSchutztemp": "<strong>Kollektorschutz</strong><br />Schutztemperatur"
,
"KollektorschutzHyst": "<strong>Kollektorschutz</strong><br />Hysterese"
,
"SpuelvorgangModus": "<strong>Spülvorgang</strong><br />Modus"
,
"SpuelvorgangPausenzeit": "<strong>Spülvorgang</strong><br />Pausenzeit"
,
"SpuelvorgangLaufzeit": "<strong>Spülvorgang</strong><br />Laufzeit"
,
"SpuelvorgangKollMin": "<strong>Spülvorgang</strong><br />Kollektor Min Temp"
,
"SpuelvorgangStop": "<strong>Spülvorgang</strong><br />Stopzeit"
,
"PrioModus": "<strong>Prio</strong><br />Modus"
,
"PrioPausenzeit": "<strong>Prio</strong><br />Pausenzeit"
,
"PrioSpuelzeit": "<strong>Prio</strong><br />Spuelzeit"
,
"PrioParallelbetrieb": "<strong>Parallelbetrieb</strong><br />Differenztemp"
,
"Begrenzungsfuehler": "Begrenzungsfühler"
,
"UnbekannterFehler": "Unbekannter Fehler"
,
"SO_Tagesertrag": "SO$ Tagesertrag"
,
"SO_Gesamtertrag": "SO$ Gesamtertrag"
,
"PufferladepumpeAnforderungsabhaengig": "<strong>Pufferladepumpe</strong><br />Anforderungsabhängig"
,
"PufferladepumpeDrehzahlregelung": "<strong>Pufferladepumpe</strong><br />Drehzahlregelung"
,
"PufferladepumpeAusschalthyst": "<strong>Pufferladepumpe</strong><br />Ausschalthysterese"
,
"PufferladepumpeRegelbereich": "<strong>Pufferladepumpe</strong><br />Regelbereich"
,
"Estrich": "Estrich"
,
"EstrichAktiv": "Modus"
,
"EstrichTaganzahl": "Anzahl Estrichtage"
,
"VorlauftempTag1": "Vorlauftemp Tag1"
,
"VorlauftempTag2": "Vorlauftemp Tag2"
,
"VorlauftempTag3": "Vorlauftemp Tag3"
,
"VorlauftempTag4": "Vorlauftemp Tag4"
,
"VorlauftempTag5": "Vorlauftemp Tag5"
,
"VorlauftempTag6": "Vorlauftemp Tag6"
,
"VorlauftempTag7": "Vorlauftemp Tag7"
,
"VorlauftempTag8": "Vorlauftemp Tag8"
,
"VorlauftempTag9": "Vorlauftemp Tag9"
,
"VorlauftempTag10": "Vorlauftemp Tag10"
,
"VorlauftempTag11": "Vorlauftemp Tag11"
,
"VorlauftempTag12": "Vorlauftemp Tag12"
,
"VorlauftempTag13": "Vorlauftemp Tag13"
,
"VorlauftempTag14": "Vorlauftemp Tag14"
,
"VorlauftempTag15": "Vorlauftemp Tag15"
,
"VorlauftempTag16": "Vorlauftemp Tag16"
,
"VorlauftempTag17": "Vorlauftemp Tag17"
,
"VorlauftempTag18": "Vorlauftemp Tag18"
,
"VorlauftempTag19": "Vorlauftemp Tag19"
,
"VorlauftempTag20": "Vorlauftemp Tag20"
,
"VorlauftempTag21": "Vorlauftemp Tag21"
,
"VorlauftempTag22": "Vorlauftemp Tag22"
,
"VorlauftempTag23": "Vorlauftemp Tag23"
,
"VorlauftempTag24": "Vorlauftemp Tag24"
,
"VorlauftempTag25": "Vorlauftemp Tag25"
,
"VorlauftempTag26": "Vorlauftemp Tag26"
,
"VorlauftempTag27": "Vorlauftemp Tag27"
,
"VorlauftempTag28": "Vorlauftemp Tag28"
,
"VorlauftempTag29": "Vorlauftemp Tag29"
,
"VorlauftempTag30": "Vorlauftemp Tag30"
,
"VorlauftempTag31": "Vorlauftemp Tag31"
,
"LiterProMinute": "Ertragsmessung Liter/Impuls"
,
"Systemregel": "Systemregel"
,
"KePumpenfreigabetemp": "<strong>Kessel</strong><br />Pumpenfreigabetemp"
,
"KeTempMin": "<strong>Kessel</strong><br />Temperatur Min"
,
"SysTempMax": "<strong>System</strong><br />Temperatur Max"
,
"ATMittelungszeit": "<strong>Aussentemperatur</strong><br />Mittelungszeit"
,
"FrostTemp": "<strong>Frostschutz</strong><br />Schutztemperatur"
,
"FrostSpuelzeit": "<strong>Frostschutz</strong><br />Spülzeit"
,
"FrostWartezeit": "<strong>Frostschutz</strong><br />Wartezeit"
,
"Kaskade": "Kaskade"
,
"ST1Abschaltueberhoehung": "<strong>Startnummer 1</strong><br />Abschaltüberhöhung"
,
"ST2Abschaltueberhoehung": "<strong>Startnummer 2</strong><br />Abschaltüberhöhung"
,
"ST3Abschaltueberhoehung": "<strong>Startnummer 3</strong><br />Abschaltüberhöhung"
,
"ST4Abschaltueberhoehung": "<strong>Startnummer 4</strong><br />Abschaltüberhöhung"
,
"ST2Sperrzeit": "<strong>Startnummer 2</strong><br />Sperrzeit"
,
"ST3Sperrzeit": "<strong>Startnummer 3</strong><br />Sperrzeit"
,
"ST4Sperrzeit": "<strong>Startnummer 4</strong><br />Sperrzeit"
,
"ST2Sperrtemp": "<strong>Startnummer 2</strong><br />Sperrtemperatur"
,
"ST3Sperrtemp": "<strong>Startnummer 3</strong><br />Sperrtemperatur"
,
"ST4Sperrtemp": "<strong>Startnummer 4</strong><br />Sperrtemperatur"
,
"BasisMin": "Kaskadenbasis Min"
,
"Folgewechsel": "Folgewechsel"
,
"Spitzenlastkessel": "Spitzenlaskessel"
,
"BestKessel": "BestKessel"
,
"BestKePumpenfreigabetemp": "Pumpenfreigabetemp"
,
"BestKeUmschalttemp": "Umschalttemperatur"
,
"BestKeTempMax": "Temperatur Max"
,
"BestKeSperrdauer": "Sperrdauer"
,
"BestKeInversion": "Umschaltventil Inversion"
,
"KaskadeBasis": "Kaskadenbasis"
,
"KaskadeEinschalttemp": "Einschalttemperatur"
,
"KaskadeAusschalttemp": "Ausschalttemperatur"
,
"KaskadeSperrzeit1": "Kessel 1 Sperrzeit"
,
"KaskadeSperrzeit2": "Kessel 2 Sperrzeit"
,
"KaskadeSperrzeit3": "Kessel 3 Sperrzeit"
,
"KaskadeSperrzeit4": "Kessel 4 Sperrzeit"
,
"KaskadeEinSoll1": "Kessel 1 Ein Temp"
,
"KaskadeAusSoll1": "Kessel 1 Aus Temp"
,
"KaskadeEinSoll2": "Kessel 2 Ein Temp"
,
"KaskadeAusSoll2": "Kessel 2 Aus Temp"
,
"KaskadeEinSoll3": "Kessel 3 Ein Temp"
,
"KaskadeAusSoll3": "Kessel 3 Aus Temp"
,
"KaskadeEinSoll4": "Kessel 4 Ein Temp"
,
"KaskadeAusSoll4": "Kessel 4 Aus Temp"
,
"KaskadeRestFolgewechsel": "Folgewechsel in"
,
"KaskadeAnforderung1": "Kessel 1 Anforderung"
,
"KaskadeAnforderung2": "Kessel 2 Anforderung"
,
"KaskadeAnforderung3": "Kessel 3 Anforderung"
,
"KaskadeAnforderung4": "Kessel 4 Anforderung"
,
"KesseltempBestKessel": "Bestehender Kessel"
,
"Umschaltventil": "Umschaltventil"
,
"ZirkPumpe": "ZirkPump $"
,
"ZirkP_Ruecklauf": "ZirkP$ Rücklauftemp"
,
"ZirkP_Freigabetemp": "ZirkP$ Freigabetemp"
,
"ZirkP_Pumpe": "ZirkP$ Pumpe"
,
"Pumpenfreigabe": "Pumpenfreigabetemp"
,
"Spuelintervall": "Spülintervall"
,
"SpuelzeitMin": "Spülzeit Min"
,
"ZubrP_Pumpe": "ZubrP$ Pumpe"
,
"ZubrPumpe": "ZubrPump $"
,
"ZubrpHK1": "Heizkreis 1"
,
"ZubrpHK2": "Heizkreis 2"
,
"ZubrpHK3": "Heizkreis 3"
,
"ZubrpHK4": "Heizkreis 4"
,
"ZubrpHK5": "Heizkreis 5"
,
"ZubrpHK6": "Heizkreis 6"
,
"ZubrpWW1": "Warmwasser 1"
,
"ZubrpWW2": "Warmwasser 2"
,
"ZubrpWW3": "Warmwasser 3"
,
"ZubrpPU1": "Puffer 1"
,
"ZubrpPU2": "Puffer 2"
,
"ZubrpPU3": "Puffer 3"
,
"ZubrpSK1": "Solar 1 Solarkreis 1"
,
"ZubrpSK2": "Solar 1 Solarkreis 2"
,
"ZubrpSK3": "Solar 2 Solarkreis 1"
,
"ZubrpSK4": "Solar 2 Solarkreis 2"
,
"ZubrpSK5": "Solar 3 Solarkreis 1"
,
"ZubrpSK6": "Solar 3 Solarkreis 2"
,
"Allgemeines": "Allgemein"
,
"Laendereinstellung": "Ländereinst"
,
"DatumUhrzeit": "Datum/Uhrzeit"
,
"Software": "Software"
,
"SoftwareBedienteil": "Bedienteil"
,
"SendeTestmail": "Sende Test E-Mail"
,
"Leistungsstufe": "Leistungsstufe"
,
"Neustarten": "Fehler Quittieren"
,
"Einschub_plus": "Einschub ++"
}
var MsgText = {
"1,1": "HK %n Vorlauf FB"
,
"2,1": "HK %n Vorlauf KS"
,
"3,1": "HK %n Vorlauf"
,
"1,2": "WW %n Ein Fühler FB"
,
"2,2": "WW %n Ein Fühler KS"
,
"3,2": "WW %n Ein Fühler"
,
"1,3": "Außenfühler FB"
,
"2,3": "Außenfühler KS"
,
"3,3": "Außenfühler"
,
"1,4": "Kesselfühler FB"
,
"2,4": "Kesselfühler KS"
,
"3,4": "Kesselfühler"
,
"4,5": "Heizkreisregler %n BUS"
,
"4,6": "Pellematic %n BUS"
,
"4,7": "Fernbedienung %n BUS"
,
"1,8": "TPO %n FB"
,
"2,8": "TPO %n KS"
,
"3,8": "TPO %n"
,
"1,9": "TPM %n FB"
,
"2,9": "TPM %n KS"
,
"3,9": "TPM %n"
,
"1,10": "Kollektor %n FB"
,
"2,10": "Kollektor %n KS"
,
"3,10": "Kollektor %n"
,
"1,11": "Speicher Unten %n FB"
,
"2,11": "Speicher Unten %n KS"
,
"3,11": "Speicher Unten %n"
,
"1,12": "Vorlauf Ertrag %n FB"
,
"2,12": "Vorlauf Ertrag %n KS"
,
"3,12": "Vorlauf Ertrag %n"
,
"1,13": "Ruecklauf Ertrag %n FB"
,
"2,13": "Ruecklauf Ertrag %n KS"
,
"3,13": "Ruecklauf Ertrag %n"
,
"1,14": "Best Kesselfühler %n FB"
,
"2,14": "Best Kesselfühler %n KS"
,
"3,14": "Best Kesselfühler %n"
,
"4,15": "Fernbed Touch %n BUS"
,
"4,16": "Master BUS"
,
"1,17": "Kaskade Ein Fühler FB"
,
"2,17": "Kaskade Ein Fühler KS"
,
"3,17": "Kaskade Ein Fühler"
,
"1,18": "Kaskade Aus Fühler FB"
,
"2,18": "Kaskade Aus Fühler KS"
,
"3,18": "Kaskade Aus Fühler"
,
"1,19": "Zirkulation RL %n FB"
,
"2,19": "Zirkulation RL %n KS"
,
"3,19": "Zirkulation RL %n"
,
"1,20": "WW %n Aus Fühler FB"
,
"2,20": "WW %n Aus Fühler KS"
,
"3,20": "WW %n Aus Fühler"
,
"1,21": "TEST"
,
"5,0": "PE %n Reservefühler1 FB"
,
"5,1": "PE %n Reservefühler1 KS"
,
"5,2": "PE %n Reservefühler2 FB"
,
"5,3": "PE %n Reservefühler2 KS"
,
"5,4": "PE %n Aussenfühler FB"
,
"5,5": "PE %n Aussenfühler KS"
,
"5,6": "PE %n Kesselfühler FB"
,
"5,7": "PE %n Kesselfühler KS"
,
"5,8": "PE %n Abgasfühler FB"
,
"5,9": "PE %n Abgasfühler KS"
,
"5,10": "PE %n Flammraumfühler FB"
,
"5,11": "PE %n Flammraumfühler KS"
,
"5,12": "PE %n Unterdruckdose FB"
,
"5,13": "PE %n Unterdruckdose KS"
,
"5,14": "PE %n Analogeingang1 FB"
,
"5,15": "PE %n Analogeingang1 KS"
,
"5,16": "PE %n Analogeingang2 FB"
,
"5,17": "PE %n Analogeingang2 KS"
,
"5,18": "PE %n Motor Turbine"
,
"5,19": "PE %n Glühstab"
,
"5,20": "PE %n Motor Aschebox"
,
"5,21": "PE %n Motor Res1"
,
"5,22": "PE %n Magnetventil"
,
"5,23": "PE %n Motor Reinigung"
,
"5,24": "PE %n Abgasgebläse"
,
"5,25": "PE %n Umwaelzpumpe"
,
"5,26": "PE %n Motor Raumentnahme1"
,
"5,27": "PE %n Motor Res2"
,
"5,28": "PE %n Motor Zwischen"
,
"5,29": "PE %n Motor Einschub"
,
"5,30": "PE %n Lueftergebläse"
,
"5,31": "PE %n Motor BSK"
,
"5,32": "PE %n Not-Aus"
,
"5,33": "PE %n Sichterheitsth"
,
"5,34": "PE %n Zuendung"
,
"5,35": "PE %n Zuendung"
,
"5,36": "PE %n FlammÜberwachung"
,
"5,37": "PE %n FlammÜberwachung"
,
"5,38": "PE %n BSK offen"
,
"5,39": "PE %n BSK geschlossen"
,
"5,40": "PE %n BSK Endschalter"
,
"5,41": "PE %n Unterdruck"
,
"5,42": "PE %n Unterdruck"
,
"5,43": "PE %n Saugsystem Befuellung"
,
"5,44": "PE %n Aschebox entleeren"
,
"5,45": "PE %n Kugelschleuse"
,
"5,46": "PE %n Falsche Anlage"
,
"5,47": "PE %n Motor Einschub / Asche voll"
,
"5,48": "PE %n Asche Warnung"
,
"5,49": "PE %n Pellets Warnung"
,
"6,10": "Kurzschluss Fühler Kühlmitteleintrittstemp."
,
"6,11": "Kabelbruch Fühler Kühlmitteleintrittstemp."
,
"6,12": "Kurzschluss Fühler Kühlmittelaustrittstemp."
,
"6,13": "Kabelbruch Fühler Kühlmittelaustrittstemp."
,
"6,14": "Kurzschluss Backend Temperatur Sensor"
,
"6,15": "Kabelbruch Fühler Kühlmittelaustrittstemp."
,
"6,16": "Kurzschluss Umgebungstemperatursensor"
,
"6,17": "Kabelbruch Umgebungstemperatursensor"
,
"6,301": "Überhitzung innerer Kern"
,
"6,303": "Dynamikabsorber Nachlaufweg"
,
"6,304": "G83/ENS Schutz"
,
"6,306": "Generator Überlast(wenn vorhanden)"
,
"6,309": "Generator Kurzschluss"
,
"6,310": "Kopf Überhitzung HW"
,
"6,311": "Kopf Untertemperatur HW"
,
"6,312": "Remote Not AUS"
,
"6,404": "Kopf Untertemperatur SW"
,
"6,405": "Kopf Überhitzung SW"
,
"6,406": "Unterschied Kopftemperatur - Messung"
,
"6,407": "Fehler Steuer - Thermoelement"
,
"6,408": "Fehler Limiter - Thermoelement"
,
"6,411": "Strom zu gering"
,
"6,414": "Fehler Widerstandsprüfung"
,
"6,415": "Fehler 24 Volt Versorgung"
,
"6,420": "Kurzschluss Steuer - Thermoelement"
,
"6,421": "Fühlerbruch Steuer - Thermoelement"
,
"6,424": "Kühlmittel Überhitzung"
,
"6,425": "Kühlmittel Untertemperatur"
,
"6,501": "Checksummenfehler Leistungsmessung"
,
"6,502": "Zeitüberschreitung Leistungsmessung"
,
"6,603": "Kühlmitteldurchfluss zu gering"
,
"6,604": "Umgebungstemperatur zu hoch"
}

*********************************************************
GET /login.cgi HTTP/1.1
Host: 192.168.68.250
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Cookie: language=de
Connection: keep-alive


HTTP/1.1 200 OK
Connection: keep-alive
Content-Type: text/html; charset=utf-8
Cache-Control: no-cache

<!DOCTYPE html>
<html>
<head>
  <title>&Ouml;koFEN Pellematic</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
  <link rel="stylesheet" type="text/css" href="/css/style.css"/>
  <!--[if lte IE 8]>
  <link rel="stylesheet" type="text/css" href="/css/style.ie8.css"/>
  <![endif]-->
  <link rel="stylesheet" type="text/css" href="/css/oekofen/jquery-ui-1.8.14.custom.css"/>
  <script type="text/javascript" src="/js/lib/jquery-1.6.2.min.js"></script>
  <script type="text/javascript" src="/lang/language.cgi?nojquery=1"></script>
  <script type="text/javascript" src="/js/app/language.js"></script>
  <script type="text/javascript">
    var onlinePathRoot = '';
    $(document).ready(function() {
      language.localizeLoginPage();
      $("input:first").focus();
      $("#language").change(function() {
        $("#submit").click();
      });

      if (document.cookie.indexOf("LoginError=1") > -1) {
        $("#form-info").show();
      }
    });
  </script>
  <style type="text/css"></style>
</head>
<body>
<div id="wrapper">
  <div id="header"></div>
  <div id="content" style="background-color:#e9e9e9">
    <div id="form-info" style="padding: 0 0.7em 0 0.7em; margin: 0 auto 10px auto; width: 50%" class="ui-state-error ui-corner-all">
      <p><span style="float: left; margin-right: 0.3em;" class="ui-icon ui-icon-alert"></span></p>
    </div>
    <form action="/index.cgi" method="post" accept-charset="utf-8">
    <table style="margin: 0 auto; padding:10px">
      <tr>
        <td><label for="username"></label></td>
        <td><input type="text" id="username" name="username" value=""/></td>
      </tr>
      <tr>
        <td><label for="password"></label></td>
        <td><input type="password" id="password" name="password" value=""/></td>
      </tr>
      <tr>
        <td><label for="language"></label></td>
        <td><select size="1" id="language" name="language"></select></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td><input type="submit" id="submit" name="submit"/></td>
      </tr>
    </table>
    </form>
  </div>
</div>
</body>
</html>

**********************************************************
GET / HTTP/1.1
Host: 192.168.68.250
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Cookie: language=de
Connection: keep-alive

HTTP/1.1 303 OK
Set-Cookie: LoginError=0; Expires=Thu, 01 Jan 1970 01:00:00 CET; Max-Age=0; Path=/; Version="1"
Status: 303 See Other
Location: login.cgi
Connection: keep-alive
Content-Type: text/plain; charset=utf-8

**********************************************************
GET /index.cgi HTTP/1.1
Host: 192.168.68.250
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close


************************************************************
GET /js/app/language.js HTTP/1.1
Host: 192.168.68.250
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close


*************************************************************

GET /js/lib/jquery-1.6.2.min.js HTTP/1.1
Host: 192.168.68.250
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close


********************************************

GET /lang/language.cgi HTTP/1.1
Host: 192.168.68.250
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close

JueFi

#10
Eingabe Benutzer, Passwort und "Anmelden" klicken

GET / HTTP/1.1
Host: 192.168.68.250
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://192.168.68.250/login.cgi
Cookie: language=de; pksession=16877
Connection: keep-alive



HTTP/1.1 200 OK
Set-Cookie: pksession=16877; Expires=Tue, 19 Jan 2038 04:13:43 CET; Max-Age=600; Path=/; Version="1"
Connection: keep-alive
Content-Type: text/html; charset=utf-8

<!DOCTYPE html>
<html>
<head>
  <title>&Ouml;koFEN Pellematic</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <meta name="author" content="XorteX eBusiness GmbH"/>
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
  <link rel="stylesheet" type="text/css" href="/css/style.css"/>
  <!--[if lte IE 8]>
  <link rel="stylesheet" type="text/css" href="/css/style.ie8.css"/>
  <![endif]-->
  <link rel="stylesheet" type="text/css" href="/css/oekofen/jquery-ui-1.8.14.custom.css"/>
  <link rel="stylesheet" type="text/css" href="/css/oekofen/jquery.pnotify.default.css"/>
  <script type="text/javascript" src="/js/lib/jquery-1.6.2.min.js"></script>
  <script type="text/javascript" src="/js/lib/jquery-ui-1.8.14.custom.min.js"></script>
  <script type="text/javascript" src="/js/lib/jquery.pnotify.min.js"></script>
  <script type="text/javascript" src="/js/lib/jquery.buttonsetv.min.js"></script>
  <script type="text/javascript" src="/js/lib/jquery-ui.timepicker.min.js"></script>
  <script type="text/javascript" src="/js/lib/jquery.format-1.1.min.js"></script>
  <script type="text/javascript" src="/lang/language.cgi"></script>
  <script type="text/javascript" src="/js/app.min.js"></script>
  <script type="text/javascript" src="/js/config.min.js"></script>
  <style type="text/css"></style>
</head>
<body>
<script type="text/javascript">
  var onlinePathRoot = '';
  main.showLoader();
</script>
<div id="wrapper">
  <div id="header"><a href="#" id="logout"></a></div>
  <div id="content">
    <div id="menu">
      <div class="left-area">
        <h1 id="menu-title"></h1>
        <h2 id="time" class="date-header"></h2>
        <div class="clear"></div>
        <h2 id="date" class="date-header"></h2>
        <div class="clear"></div>
        <div class="grid"></div>
        <div class="clear"></div>
      </div>
      <div class="right-area">
        <div id="menu-icons">
          <a href="#/" id="btn-home"><img src="images/r_home.gif" alt="Home" /></a>
          <a href="#/" id="btn-back"><img src="images/r_back.gif" alt="Back" /></a>
          <div class="clear"></div>
        </div>
      </div>
      <div class="clear"></div>
    </div>
    <div id="infobox">
      <div id="messages" style="display:none">
        <h1 id="messages-title"></h1>
        <div id="message-area"></div>
      </div>
      <h1 id="infobox-title"></h1>
      <div class="value" style="background:none">
        &nbsp;
        <div class="values">
          <span id="infobox-is" class="value-is" style="font-weight:bold"></span>
          <span id="infobox-set" style="font-weight:bold"></span>
        </div>
      </div>
      <div id="value-area"></div>
    </div>
    <div class="clear"></div>
  </div>
</div>
</body>
</html>

*******************************
POST /?action=get&attr=1 HTTP/1.1
Host: 192.168.68.250
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: de
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://192.168.68.250/
Content-Length: 2128
Cookie: language=de; pksession=16877
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

["CAPPL:LOCAL.L_fernwartung_datum_zeit_sek","CAPPL:LOCAL.hk[0].vorhanden","CAPPL:LOCAL.hk[1].vorhanden","CAPPL:LOCAL.hk[2].vorhanden","CAPPL:LOCAL.hk[3].vorhanden","CAPPL:LOCAL.hk[4].vorhanden","CAPPL:LOCAL.hk[5].vorhanden","CAPPL:LOCAL.ww[0].vorhanden","CAPPL:LOCAL.ww[1].vorhanden","CAPPL:LOCAL.ww[2].vorhanden","CAPPL:LOCAL.zirkp[0].vorhanden","CAPPL:LOCAL.zirkp[1].vorhanden","CAPPL:LOCAL.zirkp[2].vorhanden","CAPPL:LOCAL.sk[0].vorhanden","CAPPL:LOCAL.sk[2].vorhanden","CAPPL:LOCAL.sk[4].vorhanden","CAPPL:LOCAL.pu[0].vorhanden","CAPPL:LOCAL.pu[1].vorhanden","CAPPL:LOCAL.pu[2].vorhanden","CAPPL:LOCAL.heizkreisregler_vorhanden[0]","CAPPL:LOCAL.pellematic_vorhanden[0]","CAPPL:LOCAL.pellematic_vorhanden[1]","CAPPL:LOCAL.pellematic_vorhanden[2]","CAPPL:LOCAL.pellematic_vorhanden[3]","CAPPL:LOCAL.zubrp[0].vorhanden","CAPPL:LOCAL.zubrp[1].vorhanden","CAPPL:LOCAL.zubrp[2].vorhanden","CAPPL:LOCAL.fernwartung_einheit","CAPPL:LOCAL.L_aussentemperatur_ist","CAPPL:FA[0].L_kesselstatus","CAPPL:FA[1].L_kesselstatus","CAPPL:FA[2].L_kesselstatus","CAPPL:FA[3].L_kesselstatus","CAPPL:FA[0].L_kesseltemperatur","CAPPL:FA[0].L_kesseltemperatur_soll_anzeige","CAPPL:FA[1].L_kesseltemperatur","CAPPL:FA[1].L_kesseltemperatur_soll_anzeige","CAPPL:FA[2].L_kesseltemperatur","CAPPL:FA[2].L_kesseltemperatur_soll_anzeige","CAPPL:FA[3].L_kesseltemperatur","CAPPL:FA[3].L_kesseltemperatur_soll_anzeige","CAPPL:LOCAL.bestke_vorhanden","CAPPL:LOCAL.L_bestke_temp_ist","CAPPL:LOCAL.L_bestke_umschaltventil","CAPPL:LOCAL.L_pu[0].einschaltfuehler_ist","CAPPL:LOCAL.L_pu[0].einschaltfuehler_soll","CAPPL:LOCAL.L_pu[1].einschaltfuehler_ist","CAPPL:LOCAL.L_pu[1].einschaltfuehler_soll","CAPPL:LOCAL.L_pu[2].einschaltfuehler_ist","CAPPL:LOCAL.L_pu[2].einschaltfuehler_soll","CAPPL:LOCAL.L_pu[0].ausschaltfuehler_ist","CAPPL:LOCAL.L_pu[0].ausschaltfuehler_soll","CAPPL:LOCAL.L_pu[1].ausschaltfuehler_ist","CAPPL:LOCAL.L_pu[1].ausschaltfuehler_soll","CAPPL:LOCAL.L_pu[2].ausschaltfuehler_ist","CAPPL:LOCAL.L_pu[2].ausschaltfuehler_soll","CAPPL:LOCAL.L_pu[0].pumpe","CAPPL:LOCAL.L_pu[1].pumpe","CAPPL:LOCAL.L_pu[2].pumpe","CAPPL:LOCAL.L_zaehler_fehler"]






HTTP/1.1 200 OK
Set-Cookie: pksession=16877; Expires=Tue, 19 Jan 2038 04:13:43 CET; Max-Age=600; Path=/; Version="1"
Connection: close
Content-Type: application/json; charset=utf-8
Cache-Control: no-cache

[{"formatTexts":"","shortText":"","unitText":"","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.L_fernwartung_datum_zeit_sek","value":"1416860530.649332","divisor":"","status":"OK","unitTextImperial":""},{"formatTexts":"","shortText":"Vorhanden","unitText":"???","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.hk[0].vorhanden","value":"1","divisor":"","status":"OK","unitTextImperial":"???"},{"formatTexts":"","shortText":"Vorhanden","unitText":"???","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.hk[1].vorhanden","value":"1","divisor":"","status":"OK","unitTextImperial":"???"},{"formatTexts":"","shortText":"Vorhanden","unitText":"???","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.hk[2].vorhanden","value":"0","divisor":"","status":"OK","unitTextImperial":"???"},{"formatTexts":"","shortText":"Vorhanden","unitText":"???","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.hk[3].vorhanden","value":"0","divisor":"","status":"OK","unitTextImperial":"???"},{"formatTexts":"","shortText":"Vorhanden","unitText":"???","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.hk[4].vorhanden","value":"0","divisor":"","status":"OK","unitTextImperial":"???"},{"formatTexts":"","shortText":"Vorhanden","unitText":"???","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.hk[5].vorhanden","value":"0","divisor":"","status":"OK","unitTextImperial":"???"},{"formatTexts":"","shortText":"Vorhanden","unitText":"???","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.ww[0].vorhanden","value":"1","divisor":"","status":"OK","unitTextImperial":"???"},{"formatTexts":"","shortText":"Vorhanden","unitText":"???","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.ww[1].vorhanden","value":"0","divisor":"","status":"OK","unitTextImperial":"???"},{"formatTexts":"","shortText":"Vorhanden","unitText":"???","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.ww[2].vorhanden","value":"0","divisor":"","status":"OK","unitTextImperial":"???"},{"formatTexts":"","shortText":"","unitText":"","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.zirkp[0].vorhanden","value":"0","divisor":"","status":"OK","unitTextImperial":""},{"formatTexts":"","shortText":"","unitText":"","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.zirkp[1].vorhanden","value":"0","divisor":"","status":"OK","unitTextImperial":""},{"formatTexts":"","shortText":"","unitText":"","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.zirkp[2].vorhanden","value":"0","divisor":"","status":"OK","unitTextImperial":""},{"formatTexts":"","shortText":"Solar vorhanden","unitText":"???","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.sk[0].vorhanden","value":"1","divisor":"","status":"OK","unitTextImperial":"???"},{"formatTexts":"","shortText":"Solar vorhanden","unitText":"???","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.sk[2].vorhanden","value":"0","divisor":"","status":"OK","unitTextImperial":"???"},{"formatTexts":"","shortText":"Solar vorhanden","unitText":"???","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.sk[4].vorhanden","value":"0","divisor":"","status":"OK","unitTextImperial":"???"},{"formatTexts":"","shortText":"","unitText":"","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.pu[0].vorhanden","value":"1","divisor":"","status":"OK","unitTextImperial":""},{"formatTexts":"","shortText":"","unitText":"","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.pu[1].vorhanden","value":"0","divisor":"","status":"OK","unitTextImperial":""},{"formatTexts":"","shortText":"","unitText":"","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.pu[2].vorhanden","value":"0","divisor":"","status":"OK","unitTextImperial":""},{"formatTexts":"","shortText":"","unitText":"","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.heizkreisregler_vorhanden[0]","value":"1","divisor":"","status":"OK","unitTextImperial":""},{"formatTexts":"","shortText":"","unitText":"","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.pellematic_vorhanden[0]","value":"1","divisor":"","status":"OK","unitTextImperial":""},{"formatTexts":"","shortText":"","unitText":"","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.pellematic_vorhanden[1]","value":"0","divisor":"","status":"OK","unitTextImperial":""},{"formatTexts":"","shortText":"","unitText":"","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.pellematic_vorhanden[2]","value":"0","divisor":"","status":"OK","unitTextImperial":""},{"formatTexts":"","shortText":"","unitText":"","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.pellematic_vorhanden[3]","value":"0","divisor":"","status":"OK","unitTextImperial":""},{"formatTexts":"","shortText":"","unitText":"","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.zubrp[0].vorhanden","value":"1","divisor":"","status":"OK","unitTextImperial":""},{"formatTexts":"","shortText":"","unitText":"","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.zubrp[1].vorhanden","value":"0","divisor":"","status":"OK","unitTextImperial":""},{"formatTexts":"","shortText":"","unitText":"","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.zubrp[2].vorhanden","value":"0","divisor":"","status":"OK","unitTextImperial":""},{"formatTexts":"","shortText":"","unitText":"","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.fernwartung_einheit","value":"0","divisor":"","status":"OK","unitTextImperial":""},{"formatTexts":"","shortText":"Aussentemp Ist","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_aussentemperatur_ist","value":"56","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":" Dauerlauf|Start|Zuendung|Softstart|Leistungsbrand|Nachlauf|Aus|Saugen|! Asche !|! Pellets !|Pell Switch|Störung|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|Aus|Aus|Aus|Aus|Aus","shortText":"Kesselstatus","unitText":"???","lowerLimit":"","upperLimit":"","name":"CAPPL:FA[0].L_kesselstatus","value":"4","divisor":"","status":"OK","unitTextImperial":"???"},{"formatTexts":" Dauerlauf|Start|Zuendung|Softstart|Leistungsbrand|Nachlauf|Aus|Saugen|! Asche !|! Pellets !|Pell Switch|Störung|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|Aus|Aus|Aus|Aus|Aus","shortText":"Kesselstatus","unitText":"???","lowerLimit":"","upperLimit":"","name":"CAPPL:FA[1].L_kesselstatus","value":"0","divisor":"","status":"OK","unitTextImperial":"???"},{"formatTexts":" Dauerlauf|Start|Zuendung|Softstart|Leistungsbrand|Nachlauf|Aus|Saugen|! Asche !|! Pellets !|Pell Switch|Störung|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|Aus|Aus|Aus|Aus|Aus","shortText":"Kesselstatus","unitText":"???","lowerLimit":"","upperLimit":"","name":"CAPPL:FA[2].L_kesselstatus","value":"0","divisor":"","status":"OK","unitTextImperial":"???"},{"formatTexts":" Dauerlauf|Start|Zuendung|Softstart|Leistungsbrand|Nachlauf|Aus|Saugen|! Asche !|! Pellets !|Pell Switch|Störung|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|Aus|Aus|Aus|Aus|Aus","shortText":"Kesselstatus","unitText":"???","lowerLimit":"","upperLimit":"","name":"CAPPL:FA[3].L_kesselstatus","value":"0","divisor":"","status":"OK","unitTextImperial":"???"},{"formatTexts":"","shortText":"Kesseltemperatur","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:FA[0].L_kesseltemperatur","value":"578","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"Kesselsolltemperatur","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:FA[0].L_kesseltemperatur_soll_anzeige","value":"700","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"Kesseltemperatur","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:FA[1].L_kesseltemperatur","value":"0","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"Kesselsolltemperatur","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:FA[1].L_kesseltemperatur_soll_anzeige","value":"0","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"Kesseltemperatur","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:FA[2].L_kesseltemperatur","value":"0","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"Kesselsolltemperatur","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:FA[2].L_kesseltemperatur_soll_anzeige","value":"0","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"Kesseltemperatur","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:FA[3].L_kesseltemperatur","value":"0","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"Kesselsolltemperatur","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:FA[3].L_kesseltemperatur_soll_anzeige","value":"0","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"","unitText":"","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.bestke_vorhanden","value":"0","divisor":"","status":"OK","unitTextImperial":""},{"formatTexts":"","shortText":"???","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_bestke_temp_ist","value":"0","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":" Aus|Ein","shortText":"???","unitText":"???","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.L_bestke_umschaltventil","value":"0","divisor":"","status":"OK","unitTextImperial":"???"},{"formatTexts":"","shortText":"TPM ist","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_pu[0].einschaltfuehler_ist","value":"586","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"TPM soll","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_pu[0].einschaltfuehler_soll","value":"509","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"TPM ist","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_pu[1].einschaltfuehler_ist","value":"0","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"TPM soll","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_pu[1].einschaltfuehler_soll","value":"80","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"TPM ist","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_pu[2].einschaltfuehler_ist","value":"0","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"TPM soll","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_pu[2].einschaltfuehler_soll","value":"80","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"TPO ist","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_pu[0].ausschaltfuehler_ist","value":"358","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"TPO soll","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_pu[0].ausschaltfuehler_soll","value":"509","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"TPO ist","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_pu[1].ausschaltfuehler_ist","value":"0","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"TPO soll","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_pu[1].ausschaltfuehler_soll","value":"80","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"TPO ist","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_pu[2].ausschaltfuehler_ist","value":"0","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"TPO soll","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_pu[2].ausschaltfuehler_soll","value":"80","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"Pumpe","unitText":"%","lowerLimit":"0","upperLimit":"100","name":"CAPPL:LOCAL.L_pu[0].pumpe","value":"0","divisor":"???","status":"OK","unitTextImperial":"%"},{"formatTexts":"","shortText":"Pumpe","unitText":"%","lowerLimit":"0","upperLimit":"100","name":"CAPPL:LOCAL.L_pu[1].pumpe","value":"0","divisor":"???","status":"OK","unitTextImperial":"%"},{"formatTexts":"","shortText":"Pumpe","unitText":"%","lowerLimit":"0","upperLimit":"100","name":"CAPPL:LOCAL.L_pu[2].pumpe","value":"0","divisor":"???","status":"OK","unitTextImperial":"%"},{"formatTexts":"","shortText":"","unitText":"","lowerLimit":"","upperLimit":"","name":"CAPPL:LOCAL.L_zaehler_fehler","value":"0","divisor":"","status":"OK","unitTextImperial":""}]


****************************************************

GET /lang/language.cgi HTTP/1.1
Host: 192.168.68.250
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://192.168.68.250/
Cookie: language=de; pksession=16877
Connection: keep-alive

HTTP/1.1 200 OK
Connection: keep-alive
Content-Type: text/javascript; charset=utf-8

var Lang = {
__current: "de",
__available: {
"de": "Deutsch"
,
"en": "English"
,
.
.   <   hier ist was weggelassen >
.
,
"SendeTestmail": "Sende Test E-Mail"
,
"Leistungsstufe": "Leistungsstufe"
,
"Neustarten": "Fehler Quittieren"
,
"Einschub_plus": "Einschub ++"
}
jQuery(function($){
$.datepicker.regional['de'] = {
closeText: 'schließen',
prevText: ' nextText: 'Vor>',
currentText: 'heute',
monthNames: ['Januar','Februar','März','April','Mai','Juni',
'Juli','August','September','Oktober','November','Dezember'],
monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
'Jul','Aug','Sep','Okt','Nov','Dez'],
dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
weekHeader: 'Wo',
dateFormat: 'dd.mm.yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['de']);
});
jQuery(function($){
$.timepicker.regional[Lang.__current] = {
timeOnlyTitle: Lang.ZeitWaehlen,
timeText: Lang.Zeitangabe,
hourText: Lang.Stunde,
minuteText: Lang.Minute,
secondText: Lang.Sekunde,
currentText: Lang.Jetzt,
closeText: Lang.Fertig,
ampm: Lang.StundenFormat == 12
};
$.timepicker.setDefaults($.timepicker.regional[Lang.__current]);
});
var MsgText = {
"1,1": "HK %n Vorlauf FB"
,
"2,1": "HK %n Vorlauf KS"
,
"3,1": "HK %n Vorlauf"
,
"1,2": "WW %n Ein Fühler FB"
,
"2,2": "WW %n Ein Fühler KS"
,
"3,2": "WW %n Ein Fühler"
,
"1,3": "Außenfühler FB"
,
"2,3": "Außenfühler KS"
,
"3,3": "Außenfühler"
,
"1,4": "Kesselfühler FB"
,
"2,4": "Kesselfühler KS"
,
"3,4": "Kesselfühler"
,
"4,5": "Heizkreisregler %n BUS"
,
"4,6": "Pellematic %n BUS"
,
"4,7": "Fernbedienung %n BUS"
,
"1,8": "TPO %n FB"
,
"2,8": "TPO %n KS"
,
"3,8": "TPO %n"
,
"1,9": "TPM %n FB"
,
"2,9": "TPM %n KS"
,
"3,9": "TPM %n"
,
"1,10": "Kollektor %n FB"
,
"2,10": "Kollektor %n KS"
,
"3,10": "Kollektor %n"
,
"1,11": "Speicher Unten %n FB"
,
"2,11": "Speicher Unten %n KS"
,
"3,11": "Speicher Unten %n"
,
"1,12": "Vorlauf Ertrag %n FB"
,
"2,12": "Vorlauf Ertrag %n KS"
,
"3,12": "Vorlauf Ertrag %n"
,
"1,13": "Ruecklauf Ertrag %n FB"
,
"2,13": "Ruecklauf Ertrag %n KS"
,
"3,13": "Ruecklauf Ertrag %n"
,
"1,14": "Best Kesselfühler %n FB"
,
"2,14": "Best Kesselfühler %n KS"
,
"3,14": "Best Kesselfühler %n"
,
"4,15": "Fernbed Touch %n BUS"
,
"4,16": "Master BUS"
,
"1,17": "Kaskade Ein Fühler FB"
,
"2,17": "Kaskade Ein Fühler KS"
,
"3,17": "Kaskade Ein Fühler"
,
"1,18": "Kaskade Aus Fühler FB"
,
"2,18": "Kaskade Aus Fühler KS"
,
"3,18": "Kaskade Aus Fühler"
,
"1,19": "Zirkulation RL %n FB"
,
"2,19": "Zirkulation RL %n KS"
,
"3,19": "Zirkulation RL %n"
,
"1,20": "WW %n Aus Fühler FB"
,
"2,20": "WW %n Aus Fühler KS"
,
"3,20": "WW %n Aus Fühler"
,
"1,21": "TEST"
,
"5,0": "PE %n Reservefühler1 FB"
,
"5,1": "PE %n Reservefühler1 KS"
,
"5,2": "PE %n Reservefühler2 FB"
,
"5,3": "PE %n Reservefühler2 KS"
,
"5,4": "PE %n Aussenfühler FB"
,
"5,5": "PE %n Aussenfühler KS"
,
"5,6": "PE %n Kesselfühler FB"
,
"5,7": "PE %n Kesselfühler KS"
,
"5,8": "PE %n Abgasfühler FB"
,
"5,9": "PE %n Abgasfühler KS"
,
"5,10": "PE %n Flammraumfühler FB"
,
"5,11": "PE %n Flammraumfühler KS"
,
"5,12": "PE %n Unterdruckdose FB"
,
"5,13": "PE %n Unterdruckdose KS"
,
"5,14": "PE %n Analogeingang1 FB"
,
"5,15": "PE %n Analogeingang1 KS"
,
"5,16": "PE %n Analogeingang2 FB"
,
"5,17": "PE %n Analogeingang2 KS"
,
"5,18": "PE %n Motor Turbine"
,
"5,19": "PE %n Glühstab"
,
"5,20": "PE %n Motor Aschebox"
,
"5,21": "PE %n Motor Res1"
,
"5,22": "PE %n Magnetventil"
,
"5,23": "PE %n Motor Reinigung"
,
"5,24": "PE %n Abgasgebläse"
,
"5,25": "PE %n Umwaelzpumpe"
,
"5,26": "PE %n Motor Raumentnahme1"
,
"5,27": "PE %n Motor Res2"
,
"5,28": "PE %n Motor Zwischen"
,
"5,29": "PE %n Motor Einschub"
,
"5,30": "PE %n Lueftergebläse"
,
"5,31": "PE %n Motor BSK"
,
"5,32": "PE %n Not-Aus"
,
"5,33": "PE %n Sichterheitsth"
,
"5,34": "PE %n Zuendung"
,
"5,35": "PE %n Zuendung"
,
"5,36": "PE %n FlammÜberwachung"
,
"5,37": "PE %n FlammÜberwachung"
,
"5,38": "PE %n BSK offen"
,
"5,39": "PE %n BSK geschlossen"
,
"5,40": "PE %n BSK Endschalter"
,
"5,41": "PE %n Unterdruck"
,
"5,42": "PE %n Unterdruck"
,
"5,43": "PE %n Saugsystem Befuellung"
,
"5,44": "PE %n Aschebox entleeren"
,
"5,45": "PE %n Kugelschleuse"
,
"5,46": "PE %n Falsche Anlage"
,
"5,47": "PE %n Motor Einschub / Asche voll"
,
"5,48": "PE %n Asche Warnung"
,
"5,49": "PE %n Pellets Warnung"
,
"6,10": "Kurzschluss Fühler Kühlmitteleintrittstemp."
,
"6,11": "Kabelbruch Fühler Kühlmitteleintrittstemp."
,
"6,12": "Kurzschluss Fühler Kühlmittelaustrittstemp."
,
"6,13": "Kabelbruch Fühler Kühlmittelaustrittstemp."
,
"6,14": "Kurzschluss Backend Temperatur Sensor"
,
"6,15": "Kabelbruch Fühler Kühlmittelaustrittstemp."
,
"6,16": "Kurzschluss Umgebungstemperatursensor"
,
"6,17": "Kabelbruch Umgebungstemperatursensor"
,
"6,301": "Überhitzung innerer Kern"
,
"6,303": "Dynamikabsorber Nachlaufweg"
,
"6,304": "G83/ENS Schutz"
,
"6,306": "Generator Überlast(wenn vorhanden)"
,
"6,309": "Generator Kurzschluss"
,
"6,310": "Kopf Überhitzung HW"
,
"6,311": "Kopf Untertemperatur HW"
,
"6,312": "Remote Not AUS"
,
"6,404": "Kopf Untertemperatur SW"
,
"6,405": "Kopf Überhitzung SW"
,
"6,406": "Unterschied Kopftemperatur - Messung"
,
"6,407": "Fehler Steuer - Thermoelement"
,
"6,408": "Fehler Limiter - Thermoelement"
,
"6,411": "Strom zu gering"
,
"6,414": "Fehler Widerstandsprüfung"
,
"6,415": "Fehler 24 Volt Versorgung"
,
"6,420": "Kurzschluss Steuer - Thermoelement"
,
"6,421": "Fühlerbruch Steuer - Thermoelement"
,
"6,424": "Kühlmittel Überhitzung"
,
"6,425": "Kühlmittel Untertemperatur"
,
"6,501": "Checksummenfehler Leistungsmessung"
,
"6,502": "Zeitüberschreitung Leistungsmessung"
,
"6,603": "Kühlmitteldurchfluss zu gering"
,
"6,604": "Umgebungstemperatur zu hoch"
}


**************************************************************

POST /index.cgi HTTP/1.1
Host: 192.168.68.250
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://192.168.68.250/login.cgi
Cookie: language=de
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 59

username=Oeko&password=Geheim&language=de&submit=Anmelden



HTTP/1.1 303 OK
Set-Cookie: language=de; Expires=Tue, 19 Jan 2038 04:13:43 CET; Max-Age=2592000; Path=/; Version="1"
Set-Cookie: LoginError=0; Expires=Thu, 01 Jan 1970 01:00:00 CET; Max-Age=0; Path=/; Version="1"
Set-Cookie: pksession=16877; Expires=Tue, 19 Jan 2038 04:13:43 CET; Max-Age=600; Path=/; Version="1"
Status: 303 See Other
Location: /
Connection: keep-alive
Content-Type: text/plain; charset=utf-8



********************************************************************************


GET /index.cgi HTTP/1.1
Host: 192.168.68.250
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close


GET /js/app.min.js HTTP/1.1
Host: 192.168.68.250
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close


GET /js/config.min.js HTTP/1.1
Host: 192.168.68.250
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close



GET /js/lib/jquery-1.6.2.min.js HTTP/1.1
Host: 192.168.68.250
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close


GET /js/lib/jquery-ui-1.8.14.custom.min.js HTTP/1.1
Host: 192.168.68.250
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close


GET /js/lib/jquery-ui.timepicker.min.js HTTP/1.1
Host: 192.168.68.250
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close



GET /js/lib/jquery.buttonsetv.min.js HTTP/1.1
Host: 192.168.68.250
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close


GET /js/lib/jquery.format-1.1.min.js HTTP/1.1
Host: 192.168.68.250
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close



GET /js/lib/jquery.pnotify.min.js HTTP/1.1
Host: 192.168.68.250
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close

JueFi

Betriebsart auf "Aus" setzen

POST /?action=set HTTP/1.1
Host: 192.168.68.250
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: de
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://192.168.68.250/
Content-Length: 34
Cookie: language=de; pksession=16877
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

{"CAPPL:FA[0].betriebsart_fa":"0"}



HTTP/1.1 200 OK
Set-Cookie: pksession=16877; Expires=Tue, 19 Jan 2038 04:13:43 CET; Max-Age=600; Path=/; Version="1"
Connection: close
Content-Type: application/json; charset=utf-8
Cache-Control: no-cache

[{"status":"OK","name":"CAPPL:FA[0].betriebsart_fa","value":"0"}]

StefanStrobel

#12
Hallo Jürgen,

mit dem neuen HTTPMOD sollte das klappen.

Ich fang mal am Ende an. Um eine Set-Option zu definieren, packen wir die nötigen Daten aus dem entsprechenden HTTP-Request (aus Deinem Post zu "Betriebsart Aus") in Attribute. Für die erste Set-Option wären das die Attribute, die mit Set1 beginnen:


attr PHeiz set1Name Betriebsart
attr PHeiz set1Data {"CAPPL:FA[0].betriebsart_fa":"$val"}
attr PHeiz set1Map 0:Aus,1:An


$val wird später von HTTPMOD durch die umgewandelte Eingabe erstetzt. Die Map macht aus "Aus" eine 0 und aus "Ein" eine 1.
Für die Dinge, die vermutlich bei allen Set Optionen gleich sind (z.B. allgemeine Header), lassen wir die Zahl im Attributsnamen weg. Statt Set1Header1 nehmen wir daher SetHeader1 etc.:


attr PHeiz setURL http://192.168.68.250/?action=set
attr PHeiz setHeader1 Content-Type: application/x-www-form-urlencoded;; charset=UTF-8
attr PHeiz setHeader2 application/json, text/javascript, */*;; q=0.01
attr PHeiz setHeader3 Accept-Language: de
attr PHeiz setHeader4 Cookie: language=de;; pksession=$sid


beim zweiten Header reicht vermutlich auch

attr PHeiz setHeader2 application/json


$sid wird durch die Session-Id ersetzt. Die bekommen wir jedoch erst mit dem Login.
Ich hab dazu auch mal das Phyton-Script angesehen und die Sache scheint eigentlich ganz einfach zu sein. Wenn ich das richtig verstanden habe, sollte ein einziger Request für's login ausreichen.

Wir definieren dafür wie oben die URL, die Header und den Daten-Teil:


attr PHeiz sidURL http://192.168.68.250/index.cgi
attr PHeiz sid1Header1 Content-Type: application/x-www-form-urlencoded;; charset=UTF-8
attr PHeiz sid1Header2 application/json, text/javascript, */*;; q=0.01
attr PHeiz sid1Header3 Accept-Language: de
attr PHeiz sid1Header4 Cookie: language=de
attr PHeiz sid1Data username=Oeko&password=Geheim&language=de&submit=Anmelden


möglicherweise sind die Header für's login aber auch gar nicht nötig. In dem Phyton-Script scheinen die nicht verwendet zu werden.

Jetzt fehlt noch eine Regex, die in der Response die Session-Id extrahiert:


attr PHeiz sid1IDRegex pksession=([0-9]+);;


Nun muss HTTPMOD noch erkennen, ob für den Set ein neuer Login überhaupt nötig ist oder ob die Session-Id aus einem vorhergehenden Request evt. noch gültig ist.
Dafür definiert man noch mal eine Regex, die auf die Fehlerseite matcht wenn man nicht eingeloggt ist. Vermutlich reicht es zum Testen wenn wir erst mal eine Regex nehmen, die immer passt:


attr PHeiz setReAuthRegex .*


Wenn auch zum zyklischen Lesen von Daten ein Login nötig ist, dann auch

attr PHeiz reAuthRegex .*


Jetzt fehlt noch der Anfang, die Definition des Devices und die zyklische Abfrage von Daten (so wie das HTTPMOD bisher schon gemacht hat). Dabei wird die obige Login-Prozedur dann auch verwendet, wenn die reAuthRegex matcht.


define PHeiz HTTPMOD http://192.168.68.250/?action=get&attr=1 60


Dann wir die angegebene URL alle 60sec abgefragt.
Auch hier wieder die Definition der nötigen Header und Daten für den Request


attr PHeiz requestHeader1 Content-Type: application/x-www-form-urlencoded;; charset=UTF-8
attr PHeiz requestHeader2 application/json, text/javascript, */*;; q=0.01
attr PHeiz requestHeader3 Accept-Language: de
attr PHeiz requestHeader4 Cookie: language=de;; pksession=$sid
attr PHeiz requestData ["CAPPL:LOCAL.L_fernwartung_datum_zeit_sek","CAPPL:LOCAL.hk[0].vorhanden","CAPPL:LOCAL.hk[1].vorhanden","CAPPL:LOCAL.hk[2].vorhanden","CAPPL:LOCAL.hk[3].vorhanden","CAPPL:LOCAL.hk[4].vorhanden","CAPPL:LOCAL.hk[5].vorhanden","CAPPL:LOCAL.ww[0].vorhanden","CAPPL:LOCAL.ww[1].vorhanden","CAPPL:LOCAL.ww[2].vorhanden","CAPPL:LOCAL.zirkp[0].vorhanden","CAPPL:LOCAL.zirkp[1].vorhanden","CAPPL:LOCAL.zirkp[2].vorhanden","CAPPL:LOCAL.sk[0].vorhanden","CAPPL:LOCAL.sk[2].vorhanden","CAPPL:LOCAL.sk[4].vorhanden","CAPPL:LOCAL.pu[0].vorhanden","CAPPL:LOCAL.pu[1].vorhanden","CAPPL:LOCAL.pu[2].vorhanden","CAPPL:LOCAL.heizkreisregler_vorhanden[0]","CAPPL:LOCAL.pellematic_vorhanden[0]","CAPPL:LOCAL.pellematic_vorhanden[1]","CAPPL:LOCAL.pellematic_vorhanden[2]","CAPPL:LOCAL.pellematic_vorhanden[3]","CAPPL:LOCAL.zubrp[0].vorhanden","CAPPL:LOCAL.zubrp[1].vorhanden","CAPPL:LOCAL.zubrp[2].vorhanden","CAPPL:LOCAL.fernwartung_einheit","CAPPL:LOCAL.L_aussentemperatur_ist","CAPPL:FA[0].L_kesselstatus","CAPPL:FA[1].L_kesselstatus","CAPPL:FA[2].L_kesselstatus","CAPPL:FA[3].L_kesselstatus","CAPPL:FA[0].L_kesseltemperatur","CAPPL:FA[0].L_kesseltemperatur_soll_anzeige","CAPPL:FA[1].L_kesseltemperatur","CAPPL:FA[1].L_kesseltemperatur_soll_anzeige","CAPPL:FA[2].L_kesseltemperatur","CAPPL:FA[2].L_kesseltemperatur_soll_anzeige","CAPPL:FA[3].L_kesseltemperatur","CAPPL:FA[3].L_kesseltemperatur_soll_anzeige","CAPPL:LOCAL.bestke_vorhanden","CAPPL:LOCAL.L_bestke_temp_ist","CAPPL:LOCAL.L_bestke_umschaltventil","CAPPL:LOCAL.L_pu[0].einschaltfuehler_ist","CAPPL:LOCAL.L_pu[0].einschaltfuehler_soll","CAPPL:LOCAL.L_pu[1].einschaltfuehler_ist","CAPPL:LOCAL.L_pu[1].einschaltfuehler_soll","CAPPL:LOCAL.L_pu[2].einschaltfuehler_ist","CAPPL:LOCAL.L_pu[2].einschaltfuehler_soll","CAPPL:LOCAL.L_pu[0].ausschaltfuehler_ist","CAPPL:LOCAL.L_pu[0].ausschaltfuehler_soll","CAPPL:LOCAL.L_pu[1].ausschaltfuehler_ist","CAPPL:LOCAL.L_pu[1].ausschaltfuehler_soll","CAPPL:LOCAL.L_pu[2].ausschaltfuehler_ist","CAPPL:LOCAL.L_pu[2].ausschaltfuehler_soll","CAPPL:LOCAL.L_pu[0].pumpe","CAPPL:LOCAL.L_pu[1].pumpe","CAPPL:LOCAL.L_pu[2].pumpe","CAPPL:LOCAL.L_zaehler_fehler"]


Dabei fällt mir auf, dass man in Deinem Anwendungsfall ziemlich oft die gleichen Header definieren muss. Da werd ich mir noch mal was zur Optimierung des Moduls überlegen.
Vielleicht sind die Header aber auch gar nicht nötig. Das musst kannst Du ja noch testen, wenn es erst mal funktioniert.

Den Data Text hab ich einfach aus Deinem Post herauskopiert. Vermutlich kannst Du die Werte rauslöschen, die Du nicht benötigst.

Dann musst Du noch für jedes Reading, das Du daraus extrahieren möchtest die alten Attribute definieren:


attr PHeiz reading01Name Aussentemp
attr PHeiz reading01Regex CAPPL:LOCAL.L_aussentemperatur_ist","value":"([0-9]+)"


wenn der Divisor hier immer 10 ist, muss man den nicht lesen und kann den extrahierten Wert generell durch 10 dividieren:


attr PHeiz reading01Expr $val / 10


So ungefähr müsste es funktionieren. Ich kann es selbst leider nicht testen und Du musst daher davon ausgehen, dass es noch nicht auf Anhieb klappt. Das neue HTTPMOD ist auch noch Beta und könnte auch noch Probleme machen, aber daran sollte es nicht scheitern.

Zum Testen solltest Du das Loglevel des Geräts auf 5 setzen, dann kommen jede Menge Meldungen im Fhem Logfile:


attr PHeiz verbose 5


Bin gespannt, wie weit wir im ersten Schritt kommen :-)

Gruss
   Stefan

EDIT: Tippfehler beseitigt

JueFi

Hallo Stefan,
genau so hätte ich es auch probiert  ;)

Wahrscheinlich habe ich zu wenig Ahnung von dem Ganzen
Hier meine fhem.cfg (Auszug)
# -------------------  Heizung
define PHeiz HTTPMOD ?action=get&attr=1 60
attr PHeiz set1Name Betriebsart
attr PHeiz set1Data {"CAPPL:FA[0].betriebsart_fa":"$val"}
attr PHeiz set1Map 0:Aus,1:An

attr PHeiz setURL http://192.168.68.250/?action=set
attr PHeiz setHeader1 Content-Type: application/x-www-form-urlencoded; charset=UTF-8
attr PHeiz setHeader2 application/json, text/javascript, */*; q=0.01
attr PHeiz setHeader3 Accept-Language: de
attr PHeiz setHeader4 Cookie: language=de; pksession=$sid

attr PHeiz sidURL http://192.168.68.250/index.cgi
attr PHeiz sid1Header1 Content-Type: application/x-www-form-urlencoded; charset=UTF-8
attr PHeiz sid1Header2 application/json, text/javascript, */*; q=0.01
attr PHeiz sid1Header3 Accept-Language: de
attr PHeiz sid1Header4 Cookie: language=de
attr PHeiz sid1Data username=Oeko&password=Geheim&language=de&submit=Anmelden

attr PHeiz sid1IDRegex pksession=([0-9]+);

attr PHeiz setReAuthRegex .*

attr PHeiz reAuthRegex .*

attr PHeiz requestHeader1 Content-Type: application/x-www-form-urlencoded; charset=UTF-8
attr PHeiz requestHeader2 application/json, text/javascript, */*; q=0.01
attr PHeiz requestHeader3 Accept-Language: de
attr PHeiz requestHeader4 Cookie: language=de; pksession=$sid
attr PHeiz requestData ["CAPPL:LOCAL.L_fernwartung_datum_zeit_sek","CAPPL:LOCAL.hk[0].vorhanden","CAPPL:LOCAL.hk[1].vorhanden","CAPPL:LOCAL.hk[2].vorhanden","CAPPL:LOCAL.hk[3].vorhanden","CAPPL:LOCAL.hk[4].vorhanden","CAPPL:LOCAL.hk[5].vorhanden","CAPPL:LOCAL.ww[0].vorhanden","CAPPL:LOCAL.ww[1].vorhanden","CAPPL:LOCAL.ww[2].vorhanden","CAPPL:LOCAL.zirkp[0].vorhanden","CAPPL:LOCAL.zirkp[1].vorhanden","CAPPL:LOCAL.zirkp[2].vorhanden","CAPPL:LOCAL.sk[0].vorhanden","CAPPL:LOCAL.sk[2].vorhanden","CAPPL:LOCAL.sk[4].vorhanden","CAPPL:LOCAL.pu[0].vorhanden","CAPPL:LOCAL.pu[1].vorhanden","CAPPL:LOCAL.pu[2].vorhanden","CAPPL:LOCAL.heizkreisregler_vorhanden[0]","CAPPL:LOCAL.pellematic_vorhanden[0]","CAPPL:LOCAL.pellematic_vorhanden[1]","CAPPL:LOCAL.pellematic_vorhanden[2]","CAPPL:LOCAL.pellematic_vorhanden[3]","CAPPL:LOCAL.zubrp[0].vorhanden","CAPPL:LOCAL.zubrp[1].vorhanden","CAPPL:LOCAL.zubrp[2].vorhanden","CAPPL:LOCAL.fernwartung_einheit","CAPPL:LOCAL.L_aussentemperatur_ist","CAPPL:FA[0].L_kesselstatus","CAPPL:FA[1].L_kesselstatus","CAPPL:FA[2].L_kesselstatus","CAPPL:FA[3].L_kesselstatus","CAPPL:FA[0].L_kesseltemperatur","CAPPL:FA[0].L_kesseltemperatur_soll_anzeige","CAPPL:FA[1].L_kesseltemperatur","CAPPL:FA[1].L_kesseltemperatur_soll_anzeige","CAPPL:FA[2].L_kesseltemperatur","CAPPL:FA[2].L_kesseltemperatur_soll_anzeige","CAPPL:FA[3].L_kesseltemperatur","CAPPL:FA[3].L_kesseltemperatur_soll_anzeige","CAPPL:LOCAL.bestke_vorhanden","CAPPL:LOCAL.L_bestke_temp_ist","CAPPL:LOCAL.L_bestke_umschaltventil","CAPPL:LOCAL.L_pu[0].einschaltfuehler_ist","CAPPL:LOCAL.L_pu[0].einschaltfuehler_soll","CAPPL:LOCAL.L_pu[1].einschaltfuehler_ist","CAPPL:LOCAL.L_pu[1].einschaltfuehler_soll","CAPPL:LOCAL.L_pu[2].einschaltfuehler_ist","CAPPL:LOCAL.L_pu[2].einschaltfuehler_soll","CAPPL:LOCAL.L_pu[0].ausschaltfuehler_ist","CAPPL:LOCAL.L_pu[0].ausschaltfuehler_soll","CAPPL:LOCAL.L_pu[1].ausschaltfuehler_ist","CAPPL:LOCAL.L_pu[1].ausschaltfuehler_soll","CAPPL:LOCAL.L_pu[2].ausschaltfuehler_ist","CAPPL:LOCAL.L_pu[2].ausschaltfuehler_soll","CAPPL:LOCAL.L_pu[0].pumpe","CAPPL:LOCAL.L_pu[1].pumpe","CAPPL:LOCAL.L_pu[2].pumpe","CAPPL:LOCAL.L_zaehler_fehler"]

attr PHeiz reading01Name Aussentemp
attr PHeiz reading01Regex CAPPL:LOCAL.L_aussentemperatur_ist","value":"([0-9]+)"

attr PHeiz reading01Expr $val / 10

attr PHeiz verbose 5


und die Fehler beim Speichern
Unknown command charset=UTF-8, try help. Unknown command q=0.01, try help. Unknown command pksession=$sid, try help. Unknown command charset=UTF-8, try help. Unknown command q=0.01, try help. Unknown command charset=UTF-8, try help. Unknown command q=0.01, try help. Unknown command pksession=$sid, try help.

StefanStrobel

Hallo Jürgen,

Sorry, da hab ich zu schnell reinkopiert. Verdopple doch mal die Semikolons. Sonst kann es nicht klappen ...

Gruß
   Stefan