FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: stefan-dd am 06 Juli 2016, 16:38:02

Titel: Nach Sonnenstand schalten
Beitrag von: stefan-dd am 06 Juli 2016, 16:38:02
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
Titel: Antw:Nach Sonnenstand schalten
Beitrag von: Deudi am 06 Juli 2016, 23:13:10
Der Klassiker  ;)
Wie soll Licht <=6 UND >=18 sein?
Titel: Antw:Nach Sonnenstand schalten
Beitrag von: betateilchen am 06 Juli 2016, 23:28:05
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.
Titel: Antw:Nach Sonnenstand schalten
Beitrag von: Hans Franz am 07 Juli 2016, 00:02:57
Geht das wirklich? Der elsif-Zweig wird doch nur betreten, wenn $licht > -2 ist.

Gruß
Hans
Titel: Antw:Nach Sonnenstand schalten
Beitrag von: Deudi am 07 Juli 2016, 06:55:39
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...
Titel: Antw:Nach Sonnenstand schalten
Beitrag von: Prof. Dr. Peter Henning am 07 Juli 2016, 11:34:45
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