Hallo,
ich schalte meine Rollladen mit Twilight. Leider passt mir keiner der verfügbaren Schaltpunkte. Aus diesem Grund wollte ich eine Schaltung nach Sonnenstand versuchen.
Mein Script funktioniert aber leider nicht. Was habe ich da falsch gemacht?
##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.
package main;
use strict;
use warnings;
use POSIX;
sub
SonnenstandUtils_Initialize($$)
{
my ($hash) = @_;
}
sub sonnenstand{
my $licht=ReadingsVal("TC_TWILIGHT","elevation","6");
if($licht<-2){
fhem "set Rollo_Arbeiten zu" ;
}elsif($licht<-6 && $licht>-18){
fhem "set Rollo_WoZi1 zu";
}
}
1;
define TC_TWILIGHT Twilight 51.0504 13.7373 0 645686
Danke
Der Klassiker ;)
Wie soll Licht <=6 UND >=18 sein?
Zitat von: Deudi am 06 Juli 2016, 23:13:10
Wie soll Licht <=6 UND >=18 sein?
da steht minus 6 und minus 18 ...
elsif($licht<-6 && $licht>-18)
das geht durchaus :)
Mich würde eher interessieren, wann/wo die Funktion sonnenstand() überhaupt aufgerufen wird.
Geht das wirklich? Der elsif-Zweig wird doch nur betreten, wenn $licht > -2 ist.
Gruß
Hans
Zitat von: betateilchen am 06 Juli 2016, 23:28:05
da steht minus 6 und minus 18 ...
Ich werde alt ;-)
Sorry, aber das hatten wir schon so oft...
Hans Franz hat trotzdem Recht - die zweite Bedingung -18 <x <-6 kann nicht wahr sein, wenn die erste Bedingung x<-2 falsch ist.
LG
pah