Seite 1 von 1

PLC-Binding Prozent- und Temperaturanzeige mit falscher Kommastelle

Verfasst: 26. Dez 2020 23:26
von Galadriel13
Hallo zusammen,

zunächst einmal wünsche ich allen noch ein schönes Rest-Weihnachtsfest.

Ich werte über meine Siemens LOGO (0BA8 12/24), bzw. über die jew. angeschlossenen Analogeingänge einen Temperatursensor (PT1000)die Wassertemperatur unseres Schwimmteichs, als auch den Füllstand der Zisterne aus.

Beides habe ich soweit hinbekommen, jedoch passt die Kommastelle nicht (Temperatur 50°C anstatt 5,0°C und Füllstand Zisterne 837% anstatt 83,7%).

logo.items

Code: Alles auswählen

// Wassertemperatur Gartenteich
Number TemperaturTeich "Wassertemperatur [%.1f °C]" { channel="plclogo:analog:5e259681:NAQ3" }

// Füllstand Zisterne
Number FuellstandZisterne "Füllstand [%d %%]" { channel="plclogo:analog:5e259681:NAQ2" }

logo.things

Code: Alles auswählen

// Logo 8_1
Bridge plclogo:device:192_xxx_xxx_xx [ address="192.xxx.xxx.xxx", family="0BA8", localTSAP="0x3400", remoteTSAP="0x2000", refresh=100 ]
{
  Thing digital I   [ kind="I" ]
  Thing digital Q   [ kind="Q" ]
  Thing digital NI  [ kind="NI" ]
  Thing digital NQ  [ kind="NQ" ]
  Thing analog AI   [ kind="AI" ]
  Thing analog AQ   [ kind="AQ" ]
  Thing analog NAI  [ kind="NAI" ]
  Thing analog NAQ  [ kind="NAQ" ]

    // Wassertemperatur Teich
    Thing memory VW446 [ block="VW446" ]

    // Füllstand Zisterne
    Thing memory VW440 [ block="VW440" ]
}

sitemap

Code: Alles auswählen

// Teich
Frame label="Teich" icon="flow" {
        Switch item=D_Garden label="Teichpumpe" icon="pump"
        Switch item=D_Garden label="UV-Lampe" icon="light"
        Switch item=D_Garden label="Teichbeleuchtung" icon="light"
        Text item=TemperaturTeich label="Wassertemperatur" icon="temperature"
    }


// Zisterne
Frame label="Zisterne" icon="cistern" {
        Switch item=D_Cistern label="Pumpe EIN" icon="pump"
        Text item=FuellstandZisterne label="Füllstand" icon="flow"
    }
Nun ist die Frage, ob ich das ohne Rule oder anderweitig lösen kann, denn in den Settings der Logo selbst ist das nicht möglich.
Es wäre super, wenn jemand ein Stück weiterhelfen könnte.
Vielen Dank.

VG.

Re: PLC-Binding Prozent- und Temperaturanzeige mit falscher Kommastelle

Verfasst: 3. Feb 2021 15:59
von Noobie02
Hallo,

ich bin noch blutiger Anfänger in openHAB3 und habe das gleiche Problem.
Ich lese auch die Analogwerte einer SPS aus und habe falsche Kommastellen.

Ebenso werden bei einem Betriebsstundenzähler 1126578 Sekunden ausgegeben, die ich gerne in Stunden, als Betriebsstuden angezeigt hätte.
Braucht man für das Rules, oder kann man das konfigurieren?

Danke an euch.

Re: PLC-Binding Prozent- und Temperaturanzeige mit falscher Kommastelle

Verfasst: 3. Feb 2021 19:39
von steinadler
denke, das geht nur über eine regel
dazu habe ich ein virtuales item gesetzt
in der items datei

Code: Alles auswählen

//WasserFass
 Number datenDistance "Füllhöhe bis Sensor [%.1f cm] "   <water>   { channel="mqtt:topic:b8fd5e5c:WasserFass:datenDistance" }
 Number Volumen       "Volumen  [%.1f Liter] " <flow>  
 Number WasserStand   "WasserStand [%.1f cm]"  <water>
mit --datenDistance-- lese ich die daten aus
danach mit number die items setzen
dann in einer regel

Code: Alles auswählen

rule "set virtual item 4 Volumen WasserFass"
  when 
   Item datenDistance  changed 
  then 
   val Number nA = if(datenDistance.state instanceof Number) (datenDistance.state as Number) else 0
   Volumen.postUpdate(3225-(((nA-10)*300*100)/1000))
   WasserStand.postUpdate(115-nA)
  end   
zb. volumen.postUpdate(hier das hinein, was berechnet werden soll)
wasserStand.postUpdate(gesamthöhe minus (eingelesenen wert vom sensor))
sitemap

Code: Alles auswählen

Frame label="WasserFass" { 
       Text   item=Volumen
       Text   item=WasserStand
       //Text   item=datenDistance
       
   } 
versuch mal...

Re: PLC-Binding Prozent- und Temperaturanzeige mit falscher Kommastelle

Verfasst: 3. Feb 2021 21:53
von Noobie02
Hallo steinadler.

Puh, jetzt hast du mich abgehängt.
Ich glaube du sprichst von openHAB2, oder?

Kann man das in openHAB3 auch so machen?
Das ist ganz schön komplex-ich dachte ich kann in den jeweiligen Einstellungen was machen, oder nur eine Rule für ein Item "Beispiel" anlegen.
Ich glaube, das überfordert mich gerade.

Sorry.