Hauptmenü

Funksteckdose - Steuerung

Begonnen von Scrat2006, 27 Mai 2016, 11:21:21

Vorheriges Thema - Nächstes Thema

Scrat2006

Hallo,

ich hab ein Problem und hoffe das mir jemand helfen kann. Ich möchte nach Sonnenuntergang die Hintergrundbeleuchtung von meinem TV per Funksteckdose einschalten, wenn der TV eingeschaltet wird.
Das ganze hat auch schon einmal funktioniert, aber irgendwie läuft es nach der neuinstallation nicht mehr.

Ich habe folgendes:
TV
define TVWohnzimmer PRESENCE lan-ping 192.168.177.62 15 15
attr TVWohnzimmer event-on-change-reading .*
attr TVWohnzimmer group Media
attr TVWohnzimmer devStateIcon present:rc_GREEN absent:rc_STOP
attr TVWohnzimmer fp_Erdgeschoss 127,508,1,TV
attr TVWohnzimmer room Wohnzimmer

FUNKSTECKDOSE
define Dose2 dummy
attr Dose2 alias WZ_Dose_TVLed
attr Dose2 devStateIcon on:li_wht_on off:li_wht_off
attr Dose2 fp_Erdgeschoss 115,493,1,.
attr Dose2 group Funksteckdosen
attr Dose2 icon message_socket
attr Dose2 room Wohnzimmer
attr Dose2 setList on off
define off_Dose2 notify Dose2:off {system("/usr/local/sbin/send433 01101 3 0 &")}
define on_Dose2 notify Dose2:on { system("/usr/local/sbin/send433 01101 3 1 &")}



NOTIFY zum schalten der DOSE

define TVLedNotify notify TVWohnzimmer {\
  my @now = sprintf("%02d:%02d",$hour,$min);;\
  my @TVStatus = Value("TVWohnzimmer");;\
   if (($TVStatus eq "present") and ($now gt sunset("REAL",-6000,"15:00","23:59") and $now lt "23:00") and (Value("Dose2") eq "off")) {\
     fhem("set Dose2 on");;\
   }\
  elsif ((@TVStatus eq "absent") and (Value("Dose2") eq "on")) {\
     fhem("set Dose2 off");;\
   }\ 
}

Manuell kann ich die Dose schalten, aber irgendwie scheint er nicht in Set Dose2 on zu laufen.
Kann mir jemand sagen wo das Problem ist?
Herzlichen Dank im vorraus

viegener

Ich denke Du solltest mal in der perl Doku über die verschiedenen Variablentypen (also $ @ etc) nachlesen, denn Du verwendest diese munter durcheinander.

Also überall, wo Du momentan ein @ hast, solltest Du ein $ setzen, denn es sind ja eigentlich keine Arrays beteiligt.

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Puschel74

Tja, die einfachsten Beispiele im Wiki sollten schon hilfreich sein.
Und wenn die Suche zu mühsam ist dann - wie viegener schon schrieb - du wirfst vieles durcheinander und weisst vermutlich nichtmal was die Zeichen bedeuten.
Perl und die einfachsten Codebeispiele in den diversen Wikis sollte man sich schon mal anschauen.
Und auch der Hinweis rechts oben in Rot sollte nicht unbeachtet bleiben.

Ein gesundes Maß an Eigeninitiative bringt schneller Ergebnisse als das warten auf Hilfe  ;)
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.

ernst1024

Ich frage mich zum wiederholten Male wie man gestrickt sein muss wenn man offensichtlich Spaß daran findet Anfänger runter zu putzen?

Wenn ich keinen Bock habe zu helfen, ok, aber so.....................
Gruß Ernst

g.finder

Zitat von: ernst1024 am 28 Mai 2016, 00:36:31
Ich frage mich zum wiederholten Male wie man gestrickt sein muss wenn man offensichtlich Spaß daran findet Anfänger runter zu putzen?

Danke, du sprichst mir aus der Seele,
ich wage hier schon garnicht zu fragen.

Puschel74

Und ich frage mich wie jemand gestrickt sein muss der andere zwar kritisiert selbst aber nichts zu Lösungsfindung beitragen kann oder will.
Es gibt im Anfängerbereich angepinnte Beiträge - die sind nicht dazu da um den Fragestellenden Platz weg zu nehmen.
Hier wäre
- ein Blick ins Logfile zielführender gewesen
- den Code als solchen in Code-Tags zu setzen
- und wenn der Blick ins Logfile einem selbst nichts sagt dann die Fehlermeldung wenigstens zu posten.

Es gibt mehr als genug Hilfestellungen für Anfänger.
Sie müssen nur angenommen werden.

TVWohnzimmer {
  my $now = sprintf("%02d:%02d",$hour,$min);
  my $TVStatus = Value("TVWohnzimmer");
   if (($TVStatus eq "present") and ($now gt sunset("REAL",-6000,"15:00","23:59") and $now lt "23:00") and (Value("Dose2") eq "off")) {
     fhem("set Dose2 on");
   }
  elsif (($TVStatus eq "absent") and (Value("Dose2") eq "on")) {
     fhem("set Dose2 off");
   }
}

Code ist für das DEF bestimmt und nicht für die fhem.cfg - die Uhrzeitvergleiche habe ich nicht geprüft.
Hier nochmal die Bitte ins FHEM-Logfile zu schauen.
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.