Hallo, ich habe einen Helfer Tamplate Sensor erstellt. Der wird perfekt ausgerechnet. Nach der Ausrechnung will ich den Wert sofort prüfen und je nach Inhalt auf Null setzen. Sobald ich aber den Sensor nach der Ersten Berechnung mit (If …) anfasse streikt das System obwohl ein Ordentlicher wert drin ist.
Ich habs zwar mit trick 17 hingekriegt aber verstehen tu ich das nicht.
Kann mir jemand das Brett entfernen.
Gruß
Wenn du uns deine Berechnung zeigst, kann man dir vielleicht auch helfen.
Ich vermute, dass du nach deiner Berechnung den Wert ausgibst mit irgendwas dieser Art {{ ... }}
.
Danach ist für HA der state abgeschlossen.
Weitere Prüfungen müssen also vor dieser Zeile stattfinden.
Hallo und Danke
so sieht mein Template aus. Das Funktioniert so einigermaßen aber nur deswegen weil die IF abfrage auf Fehler läuft und deshalb ‘nicht Verfügbar’ ausgegeben wird. Im Chart bleibt dann diese Zeit (bis wieder gültiger Wert) einfach leer und nicht Null wie von mir gewollt.
Eins würde mir noch grosse Hilfe sein. Kann ich nicht irgendwo 5 Variablen, V1 bis V5, anlegen damit ich diese als Zwischenfelder bei Berechnungen verwenden kann.
Hilfe wäre Super. Hänge seit zwei Tage an diesem popelkram.
Bitte keine Bilder!
Wenn Du Code- oder Logzeilen hier posten möchtest, dann auf
klicken, dann erscheint
dort kopierst Du dann mit copy/paste die Zeilen rein.
Hintergrund:
Damit können die User hier auch die Formatierung/Einrückung (bei yaml ganz wichtig) überprüfen.
Sorry, zu spät gelesen. Werde es in Zukunft beherzigen.
Herzlichen Dank an alle in diesem Forum und besonders an Simon für seine tolle Videos.
Grüsse Carlos
Hinter jedem float ein (0) setzen also float(0)
Das ist wenig wenn man den Popelkram verstehen und für sich nutzen will.
Das Stichwort heißt Helfer. Teste das Anlegen, Beschreiben und Auslesen.
Mit den Helfern solltest Du Dich länger beschäftigen weil Du sie immer wieder spärer brauchen wirst.
Bau den Code dochmal schön so das du ihn lesen kannst.
Dann findet man auch schneller fehler.
{% set t = states('sensor.2klima_wozi_luft_temperatur') | float(0) %}
{% set s = states('sensor.klima2_ansaugen') | float(0) %}
{% set l = states('sensor.2stdose_klima_wozi_leistung') | float(0) %}
{{ (t - s * 171.474 / l *0.48) | float }}
Wobei mir auch hier wieder schwindelig wird, bei der Benamsung.
Mal heisst es “2klima” und mal “klima2”. Dafür heisst es dann im 2ten Entity nur “klima”.
Du kennst den Sprich “don’t drink & drive” … das gilt auch für’s templaten.
PS: du kannst den Code auch mal in
Entwicklerwerkzeuge>Template kopieren
und dann z.B. am Ende der ersten 3 Zeilen
{{t}} btw. {{s}} {{l}} zufügen.
Dann siehst du z.B. direkt mal den Wert dieser 3 Entitäen ob sie nach dem |float(0) auch den von dir erwarteten Wert haben.
Und die eigentliche Rechnung ist in der 4ten Zeile so das man sie auch versteht.
Nur als Vorschlag, muss man so nicht machen man kann auch endloszeilen machen.
lichen Fank für Deine Mühe.
Sorry für die Benamsung, kommt von der zusammenführung von Tuya und HA. Mach ich noch.
Das nenn ich elegant. Hut ab. Kannte diesen SET befehl nicht. Hätte mir Stunden gebracht. Damit ist Frage nach den Variablen auch Beantwortet.
Die Berechnung selbst hat aber auch unelegant gestimmt. Mein Problem beginnt (begann ) danach wenn ich das Ergebnis der TemplateEntität abgefragt habe und evtl. dann auf null setzen wolte. Da ist er ausgestiegen.
Jetzt mit dem SET Befehl und zwischenfelder alles kein Problem mehr.
Nochmals danke für diese coole Lösung.
DIe Lösung hab ich mir gar nicht ausgedacht, sondern einfach stumpf hier abgelesen (und dran gedacht das ich mir wie das mit templates geht ja gebookmarkt habe weil man es öfters benötigt)