Seite 2 von 2

Re: wie Multipliziere ich einen angezeihten Wert

Verfasst: 10. Feb 2025 21:50
von Harka
Ha, in der Transformation brauch es noch ein String(). Damit klappt es hier zumindest und ich bin wieder viele Minuten älter :lol: .

Code: Alles auswählen

| String(Quantity(input).multiply(Quantity('11.524 kWh/m³')));

Re: wie Multipliziere ich einen angezeihten Wert

Verfasst: 11. Feb 2025 18:39
von udo1toni
Jawoll! So macht das Spaß.

Re: wie Multipliziere ich einen angezeihten Wert

Verfasst: 12. Feb 2025 08:49
von rebell21
Danke für die Erklärung. Es klappt.
Ich habe mit folgender itemsdatei

Code: Alles auswählen


Number:Energy      GasEnergie_diesesJahr      "Energie laufendes Jahr" {channel="vicare:heating:66380b8fb4:Heizung-Viessmann:heating_gas_consumption_summary_heating_currentYear"    [profil
e="transform:JS", toItemScript="|(parseFloat(input) * 11.0435) + \" kWh\""], unit="Ws", stateDescription=""[pattern="%.2f kWh"]}

Number:Energy      GasEnergie_VorJahr      "Energie Vorjahr" {channel="vicare:heating:66380b8fb4:Heizung-Viessmann:heating_gas_consumption_total_previousYear"    [profile="transform:JS", t
oItemScript="|(parseFloat(input) * 11.0435) + \" kWh\""], unit="Ws", stateDescription=""[pattern="%.2f kWh"]}

zwei weitere Items für die vorhandenen Kanäle der ViessmannHeizung "Gasverbrauch laufend" und "Gasverbruach vorjahr" definieren können und nun kann ich mir den Verbrauch auch in kWh anzeigen lassen. Ich habe besser verstanden wie die Items mit ihren Typen wirken. Diese beiden Kanäle hatten schon items zur Darstellung in m³ und haben nun zwei weitere Items zur Darstellung des Wertes in kWh. Sehr elegant.

Ich habe auch Textdatei gewählt, weil ich das über die UI nicht hinbekommen habe. Allerdings kriege ich die beiden items nicht in das semantische Model eingehängt

Re: wie Multipliziere ich einen angezeihten Wert

Verfasst: 12. Feb 2025 09:48
von udo1toni
Das Semantic Model ist kein Problem, das geht auch über Textdateien.
Man muss dazu nur wissen, dass die Konfiguration des Semantic Model zu 100% über die Items passiert, es sind also Eigenschaften der Items.
Es handelt sich hier ja um Points, die Teil eines übergeordneten Device oder Raums sind - dieses Equipment oder diese Location sind nichts anderes als Group Items. Die Points müssen also zunächst Member der entsprechenden Group sein.
Außerdem hat jeder Point eine Category (oder zumindest definiert man diese gewöhnlich), das geschieht über das Icon des Items, und es gibt die Semantic Class und Property, welche beide Über Tags gesetzt werden, so:

Code: Alles auswählen

Number:Energy GasEnergie_diesesJahr "Energie laufendes Jahr" <energy> (gHeizung) ["Measurement","Energy"] {channel="vicare:heating:66380b8fb4:Heizung-Viessmann:heating_gas_consumption_summary_heating_currentYear" [profile="transform:JS", toItemScript="|(parseFloat(input) * 11.0435) + \" kWh\""], unit="Ws", stateDescription=""[pattern="%.2f kWh"]}
Number:Energy GasEnergie_VorJahr    "Energie Vorjahr"        <energy> (gHeizung) ["Measurement","Energy"] {channel="vicare:heating:66380b8fb4:Heizung-Viessmann:heating_gas_consumption_total_previousYear"          [profile="transform:JS", toItemScript="|(parseFloat(input) * 11.0435) + \" kWh\""], unit="Ws", stateDescription=""[pattern="%.2f kWh"]}
Es wird die Category <energy> gesetzt, der Point gerhört zum Equipment (gHeizung) und als Semantic Class und Property sind ["Measurement","Energy"] definiert.
An dieser Stelle nur sicherheitshalber die Warnung: Die Reihenfolge der einzelnen Parameter ist exakt einzuhalten. Jeder einzelne Parameter ist optional (bis auf Itemtyp und Itemname natürlich), muss aber exakt an der Stelle stehen, also

Code: Alles auswählen

Itemtyp Itemname "Item Label" <Icon> (Group,Groups) ["Tag","Tags"] {channel="Channel:UID"[profile], unit="",... } 
Wobei alles innerhalb der jeweiligen Klammern in der Reihenfolge "beliebig" ist, es sist also egal, in welcher Reihenfolge Groups oder Tags angegeben sind, auch die Reihenfolge der Channel Links oder weitere Metadaten wie unit und stateDecription können (innerhalb der geschweiften Klammern) beliebig positioniert werden.

Und natürlich gilt auch über die Textdefinition: Ein Item darf exakt einmal im Semantic Model vorkommen, d.h. es darf nur einem Equipment oder einer Location zugeordnet sein, niemals gleichzeitig einer Location und einem Equipment oder gar mehreren Locations oder Equipments gleichzeitig. Ein Point darf aber gleichzeitig zu einer Semantic Group auch beliebig vielen non-semantic Groups zugeordnet sein, das ist kein Problem, diese sind ja nicht Teil des Semantic Model.

Re: wie Multipliziere ich einen angezeihten Wert

Verfasst: 12. Feb 2025 18:16
von rebell21
Hallo, ja so konnte ich die beiden neuen items auch im Model unterbringen
Danke