Seite 1 von 2

#1 Wert für einen Regler (Heizung) anzeigen

Verfasst: Sa 29. Okt 2016, 10:22
von rayb
Hallo Zusammen,

ich versuche den Sollwert für die Heizung, also einen (Regler) auszulesen. Dabei orientiere ich mich an dem Demo. Leider funktioniert das bei mir. Ich habe gleich verschiedene Varianten ausprobiert.
Hat jemand eine Idee oder besser noch ein funktionierendes Beispiel?

Viele Grüße
Ralf

DEMO:
https://github.com/openhab/openhab/wiki ... ng#lcndemo

DEMO - Items

Code: Alles auswählen

String lcnSetPoint "Set-point [%s °C]" {lcn="[lcndemo:SETPOINT_VALUE.0.5.1.°C]"}
  Number lcnSetPointDim "Set-point (10-23°C) [%f °C]" {lcn="[lcndemo:SETPOINT_VALUE.0.5.1.°C], [%i:lcndemo:SETPOINT.0.5.1.%i°C]"}

DEMO - Sitemap

Code: Alles auswählen

  Text item=lcnSetPoint
  Setpoint item=lcnSetPointDim step=0.5 minValue=10 maxValue=23


Meine Umsetzung dafür
Items

Code: Alles auswählen

Number TempOGKind         "OG Kind [%.1f °C]"             <temperature>   (OG_Temperaturen)       {lcn="[lcn_pi:VAR_VALUE.0.210.3.Celsius]"}
Number TempSollOGKindN    "OG Kind Soll N [%f °C]"        <temperature>   (OG_Temperaturen)       {lcn="[lcn_pi:SETPOINT_VALUE.0.210.1.Celsius]"}
String TempSollOGKindS    "OG Kind Soll S [%s °C]"        <temperature>   (OG_Temperaturen)       {lcn="[lcn_pi:SETPOINT_VALUE.0.210.1.Celsius]"}
Number TempSollOGKind1N   "OG Kind Soll 1N [%f °C]"       <temperature>   (OG_Temperaturen)       {lcn="[lcn_pi:SETPOINT_VALUE.0.210.1.°C]"}
String TempSollOGKind1S   "OG Kind Soll 1S [%s °C]"       <temperature>   (OG_Temperaturen)       {lcn="[lcn_pi:SETPOINT_VALUE.0.210.1.°C]"}
String lcnSetPoint        "Set-point [%s °C]"             <temperature>   (OG_Temperaturen)       {lcn="[lcn_pi:SETPOINT_VALUE.0.210.1.°C]"}
Number lcnSetPointDim     "Set-point (10-23°C) [%f °C]"   <temperature>   (OG_Temperaturen)       {lcn="[lcn_pi:SETPOINT_VALUE.0.210.1.°C], [%i:lcn_pi:SETPOINT.0.210.1.%i°C]“}


Sitemap

Code: Alles auswählen

 Text item=TempOGKind
  Text item=lcnSetPoint
  Setpoint item=lcnSetPointDim step=0.5 minValue=16 maxValue=23
  Text item=TempSollOGKindS
  Text item=TempSollOGKind1S
  Text item=TempSollOGKindN
  Text item=TempSollOGKind1N


So siehts im Browser aus
GUI.png
Darstellung im Browser

#2 Re: Wert für einen Regler (Heizung) anzeigen

Verfasst: Sa 29. Okt 2016, 16:00
von oliwel
Hi Ralf,

benutzt du zum Koppeln die Issendorfsche PCHK oder die LinHK vom Busprofi? Falls du die LinHK nutzt, schau mal ob du Meldungen zu ungültigen Telegrammen im LinHK Logfile hast. Ich habe mit der LinHK aktuell ein Problem Variablen zu SETZEN, weil das OpenHAB Binding anders mit Zahlenwerten umgeht wie die LinHK. Niko ist da gerade an einer Lösung.

Oli

#3 Re: Wert für einen Regler (Heizung) anzeigen

Verfasst: So 30. Okt 2016, 15:38
von rayb
Hi Oli,
ich benutzte eine LinHK auf einer Raspberry P2. Dort finde ich im aktuellen /var/log/linhk-running-dir/linhk-...log zwar solche diese beiden Typen von fehlerhaften Einträge:

Code: Alles auswählen

[20161029 16:45:00.917978]  [error] invalid PCK command: >M000235.MWT003
[20161030 15:34:54.918876]  [notice] error ratio 3 [35591/3123938]

Die kommen aber ständig und waren auch schon da, bevor ich diese Abfragen für den Regler eingerichtet habe.

Leider sind diese Meldungen wenig aussagekräftig.

Gruß
Ralf

#4 Re: Wert für einen Regler (Heizung) anzeigen

Verfasst: Mi 2. Nov 2016, 18:31
von mr_claus
Anbei meine Umsetzung per PCHK, die funktioniert einwandfrei.

Code: Alles auswählen

Number  Regulator_OG_Buero_2            "Temperatur Einstellung Büro 2 [%.1f °C]"
                <heating>
                (gTemperatur, gOG_Buero_2)
                {lcn="[LCN:SETPOINT_VALUE.0.100.1.CELSIUS], [%i:LCN:SETPOINT.0.100.1.%iCELSIUS]"}

#5 Re: Wert für einen Regler (Heizung) anzeigen

Verfasst: Do 3. Nov 2016, 22:19
von rayb
Hallo mr_claus,

ich hab mir das Beispiel von Dir direkt übernommen. Funktioniert jedoch nicht. Sowohl im Browser als auch in der App passiert nix. Ob die Ursache am linhk liegt... könnte schon sein. Hab die leider nicht herum fliegen um es ausprobieren zu können :rolleyes:

Welchen Mode hast Du für das Binding eingestellt?

lcn:mode1=native50

Danke & Gruß
Ralf

#6 Re: Wert für einen Regler (Heizung) anzeigen

Verfasst: Do 3. Nov 2016, 23:51
von mr_claus
Genau, ich verwende

Code: Alles auswählen

lcn:mode1=native50


Ich habe immer mehr den Eindruck man ist mit PCHK besser dran, da funktioniert wenigstens alles.
@Oli: Funktioniert es bei Dir und der LinHK?

Viele Grüße
Claus

#7 Re: Wert für einen Regler (Heizung) anzeigen

Verfasst: Fr 4. Nov 2016, 09:09
von rayb
Moin Claus,

wie "... da funktioniert wenigstens alles."

Hast Du noch andere Bespiele/Themen wo es Probleme gibt :confused:

Gruß
Ralf

#8 Re: Wert für einen Regler (Heizung) anzeigen

Verfasst: Fr 4. Nov 2016, 18:31
von Thomas
Moin Ralf,

Ja, es gibt noch mehr Beispiele...
Aber die kann ich hier nicht bringen.

Mal sehen wie weit Claus mit dem OpenHab Binding zur PCHK weiter kommt, dann könnte man mehr "vergleichen". (Oder jemand anders, der LinHk und PCHK im Einsatz hat...)
Ich nutze OpneHab nicht, habe aber viele Dinge im IPS gelöst, die jetzt über die PCHK gehen, da ich die LinHk nicht mehr nutzen kann.

#9 Re: Wert für einen Regler (Heizung) anzeigen

Verfasst: Mo 7. Nov 2016, 14:39
von oliwel
Hallo Claus, Ralf,

ich hab den Schnipsel mal probiert und erhalte dann:

Code: Alles auswählen

invalid PCK command: >M000035!
- Niko meinte in dem anderen Thread das dieses Kommando nicht in der PCHK Spec steht, wenn ich den Quelllcode richtig interpretiere handelt es sich hier um eine Bestätigung der letzten Aktion:

Code: Alles auswählen

    /** Pattern to parse positive acknowledges. */
    public static final Pattern PATTERN_ACK_POS = Pattern.compile("-M(?<segId>\\d{3})(?<modId>\\d{3})!");


Das Kommando das Ralf als ungültig gemeldet bekommt ist m.E. die Messwert-Abfrage von Var 3 in Modul 235 mit dem bereits mit Niko diskutierten Problem das die Variablen-Nummer nun dreitstellig daher kommt. Das deckt sich auch mit Beobachtungen an meiner Anlage.

Oli

#10 Re: Wert für einen Regler (Heizung) anzeigen

Verfasst: Mo 7. Nov 2016, 15:33
von oliwel
Vergesst den letzten Beitrag - ich glaube das Problem liegt in der X2 Erweiterung von Claus.

Ich hab mal die Netzwerkverbindung zwischen OpenHAB und der LinHK abgehört und bekomme beim Setzen des Reglers mit dem o.g. Code folgendes Kommando X2030032215, das kann m.E. nicht funktionieren. Erst danach kommt das "kaputte" M000035! - da hat Niko wohl in der Tat Recht und das Binding schickt ein unvollständiges Kommando.

Oli

Nachtrag: Dieser X2 Code ist wohl nicht von Claus sondern von Issendorf - und das Binding ist voller X2 Code-Teile die nie erreicht werden. Ich steig da grad nicht mehr durch...