FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: thomaso am 22 Februar 2016, 14:23:39

Titel: HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: thomaso am 22 Februar 2016, 14:23:39
Hallo zusammen,

Besteht beim Thermostat die Möglichkeit, dass man eine Notification einrichtet, dass bei einer manuellen Änderungen der Solltemperatur am Thermostat, von FHEM aus ein Skript aufgerufen wird?

Also ca sowas in die Art:
define n_LivingRoomTemperatureChangeNotify notify HM_302128:desired-temp { system("sudo /home/pi/Scripts/sudowebscript.sh activateHeatingWeb") }

Danke schon mal im Voraus!
Titel: Antw:HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: darkness am 22 Februar 2016, 14:39:53
Hey,

verstehe gerade nicht so ganz was du möchtest? Grundsätzlich hätte ich gesagt, dass du ein Notify auf die Soll-Temp setzt. Genau so wie du es geschrieben hast.
Allerdings

HM_302128:desired-temp:.*

Gruß
Titel: Antw:HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: thomaso am 23 Februar 2016, 09:01:51
Danke für den Tipp!

Komischerweise kommen da immer ein paar "Fehlnotifications".
Grundgedanke für diese Notification ist, dass ich mitkriegen möchte, wann eine manuelle Änderung der Temperatur vorgenommen wird, damit der Rest vom System auch die neue Temperatur speichert.
Und da der Heizkreislauf nicht immer läuft, sondern nur wenn ein heizen wirklich notwendig ist wird die Umwäzpumpe aktiviert, muss das System den neuen Sollwert mitkriegen, um das alles zu machen :).
Also eigentlich alles nur dafür, falls man die Temperatur nicht immer übers Tablet ändern will :)
Titel: Antw:HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: Thorsten Pferdekaemper am 23 Februar 2016, 09:14:41
Hi,
das notifiy wird aber auch dann getriggert, wenn die desired-temp per FHEM oder sonst irgendwie geändert wird.
Gruß,
   Thorsten
Titel: Antw:HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: thomaso am 23 Februar 2016, 09:17:18
Ok. Also du meinst, wenn ich zB selbst einen neuen Sollwert über FHEM setze? Das ist eh ok bzw dann sollte er ja den korrekten Wert zurücksenden, welcher dann eh schon in der DB des Systems gespeichert ist.

Derzeit sendet er auch so ca alle 3-5 Minuten eine Notify, ohne dass ich was angreife.
Titel: Antw:HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: thomaso am 23 Februar 2016, 09:38:43
Kann man auch einen Parameter mit übergeben beim Skript aufruf? Also dass der neue "Sollwert" gleich mitgeschickt wird.
Titel: Antw:HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: Thorsten Pferdekaemper am 23 Februar 2016, 21:33:05
Zitat von: thomaso am 23 Februar 2016, 09:38:43
Kann man auch einen Parameter mit übergeben beim Skript aufruf? Also dass der neue "Sollwert" gleich mitgeschickt wird.
Das kommt vor Allem auf Dein Skript an, aber im Prinzip sollte das gehen.
Gruß,
   Thorsten
Titel: Antw:HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: Bennemannc am 23 Februar 2016, 21:47:16
Hallo,

ZitatDerzeit sendet er auch so ca alle 3-5 Minuten eine Notify, ohne dass ich was angreife.
hast Du das Attribut event-on-change-reading gesetzt ? Damit sollten gleiche Solltemperaturen unterdrückt werden.

Gruß Christoph
Titel: Antw:HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: thomaso am 23 Februar 2016, 23:36:02
Zitat von: Thorsten Pferdekaemper am 23 Februar 2016, 21:33:05
Das kommt vor Allem auf Dein Skript an, aber im Prinzip sollte das gehen.
Gruß,
   Thorsten

Ja das Skript kann schon damit umgehen, aber wie übergebe ich den Parameter gleich beim Notify? Einfach hinter den geschwungenen Klammern ein "HM_302128:desired-temp"?

Das mit dem event-on-change-reading hab ich jetzt gesetzt. Danke für den Tipp jedoch kommt das Notify trotzdem alle 5 Minuten
Titel: Antw:HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: Thorsten Pferdekaemper am 23 Februar 2016, 23:49:02
Zitat von: thomaso am 23 Februar 2016, 23:36:02
Ja das Skript kann schon damit umgehen, aber wie übergebe ich den Parameter gleich beim Notify? Einfach hinter den geschwungenen Klammern ein "HM_302128:desired-temp"?
Zeig doch erstmal her, wie Du momentan das Skript aufrufst, also ohne Parameter.
ZitatDas mit dem event-on-change-reading hab ich jetzt gesetzt.
Bei welchem Device? ...und wie sieht es genau aus?
Gruß,
   Thorsten
Titel: Antw:HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: thomaso am 23 Februar 2016, 23:51:55
also der bisherige Aufruf siehst so aus:

define n_LivingRoomTemperatureChangeNotify notify HM_302128:desired-temp:.* { system("sudo /home/pi/Scripts/sudowebscript.sh updateTargetTemperatureWeb") }

Ich hab das Notify beim Thermostat selbst hinzugefügt. Also bei keinem der Channels.
Also quasi so:

attr HM_302128 event-on-change-reading 1
Titel: Antw:HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: Bennemannc am 24 Februar 2016, 06:59:09
Hallo,

Zitatattr HM_302128 event-on-change-reading 1
das funktioniert so nicht ! Commandref lesen - da muss ein reading stehen, ggf. mit einem Wert, um den sich das reading geändert haben muss, bevor sich ein Event daraus ergibt.
Also am clima Kanal event-on-change-reading desired-temp eintragen.

Gruß Christoph
Titel: Antw:HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: Thorsten Pferdekaemper am 24 Februar 2016, 08:22:00
Zitat von: thomaso am 23 Februar 2016, 23:51:55
also der bisherige Aufruf siehst so aus:

define n_LivingRoomTemperatureChangeNotify notify HM_302128:desired-temp:.* { system("sudo /home/pi/Scripts/sudowebscript.sh updateTargetTemperatureWeb") }
Dann wahrscheinlich so:
define n_LivingRoomTemperatureChangeNotify notify HM_302128:desired-temp:.* { system("sudo /home/pi/Scripts/sudowebscript.sh updateTargetTemperatureWeb ".$EVENT) }
oder
define n_LivingRoomTemperatureChangeNotify notify HM_302128:desired-temp:.* { system("sudo /home/pi/Scripts/sudowebscript.sh updateTargetTemperatureWeb --desired-temp=".$EVENT) }
Je nachdem, was Dein Skript so frisst.

Zitat von: Bennemannc am 24 Februar 2016, 06:59:09
Also am clima Kanal event-on-change-reading desired-temp eintragen.
...oder besser "event-on-change-reading *", damit man sich nicht wundert, warum die anderen Readings gar nicht mehr kommen.
Gruß,
   Thorsten

Titel: Antw:HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: thomaso am 24 Februar 2016, 20:39:24
Danke für die ausführliche Info.

Eigentlich sollte nur der Temperaturwert übergeben werden :) Zumindest kommt das Skript dann am besten damit zurecht :D
Titel: Antw:HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: thomaso am 25 Februar 2016, 20:35:25
Also trotz mehrfachen probieren verschiedener Versionen, schaffe ich es nicht, nur den neuen Wert von desired-temp zu übergeben. Also quasi zB "23.0"

Hat da jemand eine Idee, wie ich das definieren muss, dass er dem Skript das übergibt?

Danke schon mal!
Titel: Antw:HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: Bennemannc am 25 Februar 2016, 21:03:42
Hallo,

dann musst Du Dich mal mit der "bash" auseinander setzen. Mann kann einer .sh auch Parameter mit übergeben. Wenn Du Beispiele brauchst - die /etc/init.d/... scripte zum Starten arbeiten so - da kannman start, stop, status übergeben - die Übergabe wird geprüft und der entsprechende Programmteil ausgeführt.

Gruß Christoph
Titel: Antw:HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: thomaso am 25 Februar 2016, 21:54:07
ja das weiß ich schon, dass man dem Skript Parameter übergeben kann, aber weiß eben nicht wie ich in der Definition von dem Notify den Parameter korrekt mitgebe :)

Die Skripte arbeiten ja alle mit Übergabeparameter :)
Titel: Antw:HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: Bennemannc am 25 Februar 2016, 22:04:24
Hallo,

wenn Du die Beispiel von Thorsten nimmst, sollte $EVENT den Wert enthalten.

Gruß Christoph
Titel: Antw:HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: thomaso am 25 Februar 2016, 22:04:57
nein dann kommt desired-temp: .... :)
Titel: Antw:HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: Bennemannc am 25 Februar 2016, 22:15:20
Ok - dann $EVTPART0 ... $EVTPART1 ... oder das Ganze mit DOIF aufbauen. Da gibt es die Möglichkeit aus einem Event den nummmerichen Teil zu separieren. Da gibt es eine Menge Beispiele zu.

Gruß Christoph
Titel: Antw:HM-CC-RT-DN Manuelle Temperature Änderung Notification
Beitrag von: thomaso am 26 Februar 2016, 19:11:05
Danke für den Tipp, so hat es super funktioniert :)!