Hauptmenü

Nach Sonnenstand schalten

Begonnen von stefan-dd, 06 Juli 2016, 16:38:02

Vorheriges Thema - Nächstes Thema

stefan-dd

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

Deudi

Der Klassiker  ;)
Wie soll Licht <=6 UND >=18 sein?
Gigabyte Brix, Ubuntu 16.04.3 LTS, Homematic, Z-Wave, EnOcean, Shelly@MQTT, SIGNALduino, JeeLink DAVIS-Sketch

betateilchen

#2
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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Hans Franz

Geht das wirklich? Der elsif-Zweig wird doch nur betreten, wenn $licht > -2 ist.

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

Deudi

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...
Gigabyte Brix, Ubuntu 16.04.3 LTS, Homematic, Z-Wave, EnOcean, Shelly@MQTT, SIGNALduino, JeeLink DAVIS-Sketch

Prof. Dr. Peter Henning

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