FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: d0m2011 am 11 September 2017, 14:13:32

Titel: Gelöst: Wert aus Dummy an HM-Thermostat übergeben (set desired-temp)
Beitrag von: d0m2011 am 11 September 2017, 14:13:32
Hallo zusammen,

im Forum bin ich leider nicht fündig geworden.
Zudem tue ich mir noch schwer, Wert zu übergeben.

Folgendes:
Wenn ich das Haus verlassen, möchte ich einen Wert (Temperatur) aus einem Dummy an meine Heizkörper übergeben.
Der Wert stammt aus einem Dummy, da ich diesen einfach per TabletUI bei Bedarf ändern kann.
-> ansonsten würde ich einen fixen Wert übergeben

Übergabe fixer Wert:
Bewohner:absent  set Heizung_WZ_Links desired-temp 20.0

"Variabler" Wert -> Steht in dummy "Temperatur_WZ_abgesenkt" als "state

Ansatz:
Bewohner:absent set Heizung_WZ_Links desired-temp ReadingVal(,,Temperatur_WZ_abgesenkt";"State";"?")

Leider funktioniert es nicht! State ist nicht bekannt aber warum?
Irgendwie habe ich das noch nicht verstanden...
Titel: Antw:Wert aus Dummy an HM-Thermostat übergeben (set desired-temp)
Beitrag von: Beta-User am 11 September 2017, 14:18:30
Schau mal, ob "State" wirklich richtig ist:
State!=STATE!=state...

Gruß, Beta-User
Titel: Antw:Wert aus Dummy an HM-Thermostat übergeben (set desired-temp)
Beitrag von: d0m2011 am 11 September 2017, 14:21:16
Laut dem dummy ist es STATE
Titel: Antw:Wert aus Dummy an HM-Thermostat übergeben (set desired-temp)
Beitrag von: Beta-User am 11 September 2017, 14:24:15
Zitat von: d0m2011 am 11 September 2017, 14:21:16
Laut dem dummy ist es STATE
Ergo solltest du die Schreibweise anpassen, weil eben STATE nicht State ist, und das auch wieder nicht state (aber denselben Wert haben kann, wenn es exisitert). Das ist alles case-sensitiv, und vermutlich exisitieren sowohl STATE wie state, aber eben nicht State ;) .
Titel: Antw:Wert aus Dummy an HM-Thermostat übergeben (set desired-temp)
Beitrag von: CoolTux am 11 September 2017, 14:24:28
Punkt eins. Bitte Beginner PDF lesen oder im Anfängerforum die angepinnten Beiträge
Du vermischst FHEM mit Perl

Bewohner:absent { fhem("set Heizung_WZ_Links desired-temp " . Value("Temperatur_WZ_abgsenkt")); }


Oder kürzer dank setMagic

Bewohner:absent set Heizung_WZ_Links desired-temp [Temperatur_WZ_abgsenkt:state]
Titel: Antw:Wert aus Dummy an HM-Thermostat übergeben (set desired-temp)
Beitrag von: CoolTux am 11 September 2017, 14:26:18
Zitat von: Beta-User am 11 September 2017, 14:24:15
Ergo solltest du die Schreibweise anpassen, weil eben STATE nicht State ist, und das auch wieder nicht state (aber denselben Wert haben kann, wenn es exisitert). Das ist alles case-sensitiv, und vermutlich exisitieren sowohl STATE wie state, aber eben nicht State ;) .

Wichtig wäre noch das STATE kein Reading sondern ein Internal ist und dem zu Folge mit ReadingsVal nicht erfasst werden kann. Hier geht wenn dann nur Value
Titel: Antw:Wert aus Dummy an HM-Thermostat übergeben (set desired-temp)
Beitrag von: Otto123 am 11 September 2017, 14:27:02
Hi,

hier gibt es drei Fehler ->
ZitatReadingVal(,,Temperatur_WZ_abgesenkt";"State";"?")
Oder auch mehr  :-[

Mach einfach set Heizung_WZ_Links desired-temp [Temperatur_WZ_abgesenkt:state]

Quelle: https://fhem.de/commandref_DE.html#set

Gruß Otto
Titel: Antw:Wert aus Dummy an HM-Thermostat übergeben (set desired-temp)
Beitrag von: amenomade am 11 September 2017, 15:38:03
... und Hände weg vom Editieren von fhem.cfg, insb. mit einem Editor, der solche Anführungszeichen hinzufügt...

Zitat,,      "
Titel: Antw:Wert aus Dummy an HM-Thermostat übergeben (set desired-temp)
Beitrag von: d0m2011 am 11 September 2017, 19:35:21
Zitat von: amenomade am 11 September 2017, 15:38:03
... und Hände weg vom Editieren von fhem.cfg, insb. mit einem Editor, der solche Anführungszeichen hinzufügt...

Du hast Recht, danke. Das kommt daher, da ich oft meinen Entwurf in den TextEdit kopiere und dann in FHEM eintrage bzw. ausprobiere.

Jetzt hab ich nur noch eine Verständnisfrage....
Aktuell ich ich einen Notify der reagiert, wenn alle Bewohner das Haus verlassen.

Bewohner:absent set Kaffee_Strom off; set Tablet screen off

Wie kann ich nun den Code mit dem anderen kombinieren?
Bewohner:absent { fhem("set Heizung_WZ_Links desired-temp " . Value("Temperatur_WZ_abgesenkt")); }

Folgendes funktioniert nicht:
Bewohner:absent { fhem("set Heizung_WZ_Links desired-temp " . Value("Temperatur_WZ_abgesenkt")); }; set Kaffee_Strom off; set Tablet screen off

Folgendes auch nicht:
Bewohner:absent { fhem("set Heizung_WZ_Links desired-temp " . Value("Temperatur_WZ_abgesenkt")); set Kaffee_Strom off; set Tablet screen off }

Danke schonmal vorab.
Ich hab bisher nur "einfache" Aktionen kombiniert ;)

Titel: Antw:Wert aus Dummy an HM-Thermostat übergeben (set desired-temp)
Beitrag von: Otto123 am 11 September 2017, 19:39:06
Bewohner:absent set Kaffee_Strom off; set Tablet screen off; set Heizung_WZ_Links desired-temp [Temperatur_WZ_abgesenkt:state]

Du glaubst nicht, dass es so einfach geht?  :-[
Titel: Antw:Wert aus Dummy an HM-Thermostat übergeben (set desired-temp)
Beitrag von: d0m2011 am 11 September 2017, 19:44:11
Leider funktioniert folgendes nicht:
set Heizung_WZ_Links desired-temp [Temperatur_WZ_abgesenkt]

Fehlermeldung:
invalid temp:[Temperatur_WZ_abgesenkt]

Ich bin verwirrt
Titel: Antw:Wert aus Dummy an HM-Thermostat übergeben (set desired-temp)
Beitrag von: CoolTux am 11 September 2017, 19:48:43
Zitat von: d0m2011 am 11 September 2017, 19:44:11
Leider funktioniert folgendes nicht:
set Heizung_WZ_Links desired-temp [Temperatur_WZ_abgesenkt]

Fehlermeldung:
invalid temp:[Temperatur_WZ_abgesenkt]

Ich bin verwirrt

Ups, sorry
set Heizung_WZ_Links desired-temp [Temperatur_WZ_abgesenkt:state]
Unter der Voraussetzung das die Temp auch im state Reading vom Dummy steht
Titel: Antw:Wert aus Dummy an HM-Thermostat übergeben (set desired-temp)
Beitrag von: d0m2011 am 11 September 2017, 20:00:51
Ah jetzt ;)
Danke!
Titel: Antw:Wert aus Dummy an HM-Thermostat übergeben (set desired-temp)
Beitrag von: Otto123 am 11 September 2017, 20:39:53
Ich habe die Beiträge oben korrigiert, für den eiligen Leser  :D

Sorry, ich war irgendwie der Meinung wenn kein Reading angegeben wird, wird STATE genommen. Du hättest meinen Link besser lesen sollen  ;)
ZitatAb featurelevel 5.7 ersetzt das set und setreading Befehl
[device:name] mit dem Wert des Readings, Internals oder Attributes für device, falls sowohl device, als auch Reading, Internal oder Attribut existiert, und nicht leer ist.

Der vollständigkeithalber solltest Du auch die Variante von CoolTux verstehen:
Bewohner:absent { fhem("set Heizung_WZ_Links desired-temp " . Value("Temperatur_WZ_abgesenkt")  . "; set Kaffee_Strom off; set Tablet screen off")}

Zum lesen -> https://fhem.de/commandref_DE.html#command
Und lies Dich noch etwas in Perl ein -> String operators: concatenation (.)

Damit solltest Du das verstehen können? 8)

Gruß Otto
Titel: Antw:Wert aus Dummy an HM-Thermostat übergeben (set desired-temp)
Beitrag von: Amenophis86 am 11 September 2017, 21:13:09
Damit wir alle was gesagt haben, bitte gelöst nicht vergessen, wenn das Thema gelöst ist :)