fht80b ausgelesene temperatur zum schalten einer steckdose

Begonnen von House, 02 Februar 2014, 21:34:02

Vorheriges Thema - Nächstes Thema

House

Moin,

ist es möglich die measured-temp vom fht80b zum schalten einer Steckdose(FS20) zu benutzen?
Wenn ja wie?

Ich hatte mir das so vorgestellt wenn 20° erreicht sind soll die Steckdose(FS20)sich einschalten und wenn sie darunter fällt soll sie wieder ausgehen.
Meine Hardware

Fhem5.5
Fhz1000PC
Fht80b
FS 20 Steckdose

Gruß House

Joachim

Lieber FHEM-Neueinsteiger,

Du hast Dich für ein hochkomplexes, unheimlich flexibles Programm für Deine Hausautomation entschieden.
Aufgrund seiner Flexiblität ist dieses Programm nicht einfach zu verstehen.
Man muss dazu eine ganze Menge lernen. Damit Du Dir nicht alles aus dem Forum heraussuchen musst,
habe ich mal einige Links für Dich zusammengestellt:

http://fhem.de/Heimautomatisierung-mit-fhem.pdf
http://forum.fhem.de/index.php/topic,16311.0.html
http://forum.fhem.de/index.php/topic,13092.0.html
http://fhem.de/commandref.html
http://www.fhemwiki.de/wiki/Hauptseite
http://forum.fhem.de/index.php?action=search

Ich weiß, das ist unheimlich viel Lesestoff, und es schwirrt einem irgendwann der Kopf.
Manch einer lässt sich dann dazu verleiten, eine Abkürzung zu nehmen, und stellt seine Frage im Forum.

Dieses Vorgehen hilft aber nicht wirklich.
Und zwar aus mehreren Gründen:
- Meistens wurden diese Fragen in irgendeiner Form schon gestellt, und Du kannst Dir sicherlich vorstellen,
  daß die sogenannten alten Hasen nicht wirklich Lust haben, Fragen x-mal zu beantworten
- Vorgefertigte Lösungen sind nur auf den ersten Blick einfacher, da Du dabei nicht wirklich Lernst, wie Du ein Problem
  mit FHEM selbst lösen kannst
- Du bekommst Antworten die nicht Deiner Erwartungshaltung ensprechen
- uvm.

Die sogenannten alten Hasen helfen gerne, wenn es um wirkliche Probleme geht, aber es bringt keinen Spass, wenn man die relevanten
Informationen scheibenweise aus Dir herausziehen muss.
Du mochtest von uns Hilfe haben, bitte gib und die Nötigen Informationen, am besten in dem Du Dir eine Signatur anlegst.
Versuche bitte nicht, diese Informationen zu Filtern, weil Du der Meinung bist, daßeinige dieser Informationen unnötig sind.

Wenn du etwas aus einem Log, oder einer Configdatei mitpostest, setze es bitte in code-Tags, daß ist die Raute oben im Antwortfeld,
alternativ kannst Du auch hier den Text eingeben verwenden.

Mit diesen Text will ich Dich weder ärgern, zurechtweisen, disziplinieren oder sonst etwas, aber habe Verständniss,
daß die alten Hasen hier freiwillig helfen, und man muss sie beiLane halten, damit sie auch weiterhin helfen.

Wenn Dein Problem dann gelöst ist, setze Deinen Beitrag auf gelöst, Das funktioniert am einfachsten indem Du in Deinem ersten Beitrag die Überschrift bearbeitest.
Außerden hilfst Du natürlich Anfängern, die nach Dir kommen, indem Du in Deinem letzten Beitrag die Lösung nocheinmal zusammenfasst, und ggf. einen Wiki-Artikel dazu schreibst.

Jetzt zu Deiner Frage:
Natürlich ist das möglich.
ZitatWenn ja wie?

siehe oben.

Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

House

define Luft at FHT_3321 measured-temp: 22.0 set Schalter1 on

Wrong timespec FHT_3321: either HH:MM:SS or {perlcode}

Bin ich da auf dem richtigen weg?

Puschel74

Hallo,

in knapp einer Stunde alle Links von Joachim durchgearbeitet - Hut ab.

ZitatWrong timespec FHT_3321: either HH:MM:SS or {perlcode}
Diese Meldung heisst übersetzt (als frei übersetzt, ich bin kein Englisch-Guru  ;D ):
Falsche Zeitangabe FHT_3321: erwartet wird etwas in der Richtung HH:MM:SS oder {perlcode}

Da ich bei dir aber keine Zeitangabe sehe, nichtmal annähernd, wird sich deine Frage
ZitatBin ich da auf dem richtigen weg?
hoffentlich erübrigt haben?

Wenn noch Probleme bestehen dann bitte genau formulieren woran du scheiterst, eine etwaige Fehlermeldung aus dem LogFile posten und natürlich deinen Code  ;)

http://fhem.de/commandref.html#notify
Joachim war schon so freundlich und hat dir die commandref verlinkt - ich verlink dir aus der commandref mal notify.

Grüße

Edith: @Joachim - genialer Text  ;D
Vor allem der Abschnitt mit - die alten Hasen bei Laune halten -  8)
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

betateilchen

#4
define Luft at FHT_3321 measured-temp: 22.0 set Schalter1 on

Du hast da etwas ziemlich frei übersetzt. Die at-Definition dient dazu zu einem speziellen Uhr-Zeitpunkt etwas auszuführen.

Was Du aber möchtest, ist eine Ausführung wegen eines bestimmten Ereignisses. Dazu brauchst Du nicht "at" sondern "notify".

Also, erster Teil...

define Luft notify FHT_3321.measured-temp:.* {mache irgendwas}

Das bedeutet, dass Du immer dann, wenn ein Temperaturwert gemeldet wird, etwas tun willst.

Nun mußt Du noch festlegen, bei welcher Bedingung etwas passieren soll.
Dein Kriterium ist der Temperaturwert 20°C.

if (ReadingsVal("FHT_3321","measured-temp","19") >= 20) {schalte die Steckdose ein} else {schalte die Steckdose aus}

Jetzt mußt Du nur noch den ersten Teil mit dem zweiten Teil verheiraten:

define Luft notify FHT_3321.measured-temp:.* { if (ReadingsVal("FHT_3321","measured-temp",19) >= 20) {fhem("set Schalter1 on")} else {fhem("set Schalter1 off")} }

Fertsch.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Waldmensch

Tschuldigung wenn ich mich von der Seite einmische. Nur als Verständnisfrage - bei dem Beispiel wird dann bei jeder Temperaturmessung ein Schaltvorgang ausgelöst oder ist fhem von allein so "intelligent" und vermeidet eine erneutes senden von ON oder OFF wenn der Status schon gesetzt ist? Oder sollte man in die Bedingung noch den aktuellen Status ON/OFF abfragen um unnütze Telegramme zu vermeiden?

betateilchen

Das hast Du richtig erkannt. Man kann (und sollte) noch die Prüfung einbauen, in welchem Zustand der Schalter überhaupt ist, um unnötigen Funkverkehr zu vermeiden.

Mir ging es aber darum, das Grundverständnis zu schaffen, wie man eine Steckdose anhand eines Temperaturwertes schalten kann. Und da hätte die zusätzliche Prüfung eher zur Verwirrung beigetragen. Das wiederholte Schalten tut ja nicht weh, es verursacht eben nur Funklast.

define Luft notify FHT_3321.measured-temp:.* { if (ReadingsVal("FHT_3321","measured-temp",19) >= 20) { fhem("set Schalter1 on") if (Value("Schalter1") eq 'off') } else { fhem("set Schalter1 off") if (Value("Schalter1") eq 'on') } }



-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!


Thorsten Pferdekaemper

...und vielleicht sollte man auch noch an "Hysterese" denken.
SCNR.
FUIP

House

moin,

Heimat sieht das kompliziert aus, aber anhand des Bsp. verstehe ich jetzt nun ein bissel mehr und es funktioniert auch :)
Alleine hätte ich das niemals  hinbekommen.

Ihr habt ja auch alle mal angefangen.
Erstmal besten dank 

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

House


betateilchen

nein, Du musst nur genau so simpel denken, wie fhem verstehen kann, was Du ausdrücken willst.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Heli_CP

Danke vorerst für eure guten Beiträge und Link´s.

Ich verwende FHEM seit c.a. 2 Jahren für die komplette Hauautomation. Nach kurzem Frust kam die Begeisterung die jetzt allerdings wieder in Frust umschlug.
Ich versuche seit einigen Tagen bei einem FHT80b die Temperatur auszulesen und eine FS20-ST4 zu schalten. Habe das Ganze mit Perl und FHEM und mit reinen FHEM versucht. Im Logfile  ist das Schalten bei unter oder ober Temperatur des FS20-ST4 korrekt jedoch die Funksteckdose schaltet nicht.  Habe eine Testumgebung mit einer FHZ1300PC errichtet und die Funkschaltsteckdose befindet sich 2 Meter von dieser entfernt. Habe als allerletzten Rettungsanker auch den Code von User ,,betateilchen" versucht. Im Log steht geschalten jedoch der FS20 bleibt aus oder eben ein. :'( :'(

Auffallend ist das nach einem Neustart von Perl und fhem der FS20-ST4 immer schaltet. Auch im Browser funktioniert der FS20 ohne Probleme und at anweisungen funktionieren immer.

Hat jemand eine Idee wo ich ansetzen soll.

JoWiemann

Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM