NEWS
Licht einschalten mit Astrofunktion + Abhängigkeit
-
@burg_io
Danke für den Tipp. Ich war glaube ich eben zu schnell...das Licht wurde eingeschaltet. Ich wollte gerade den Beitrag korrigieren aber du warst mit deinem Post schneller deshalb lasse ich ihn so bestehen.Wie hast du das mit dem "und" hinbekommen. Den Baustein findet ich einfach nicht....
-
-
@burg_io Perfekt, danke dir:) Damit klappt es gut:)
Dann muss ich noch noch eine Lösung finden für das zweite Szenario:
- Wenn ein Gerät bereits eingeschaltet ist (in diesem Fall ein Fernseher / welcher per Ping abgefragt wird) UND die Sonne beginnt unterzugehen oder bereits untergegangen ist soll das Licht eingeschaltet werden
Hat hier jemand eine Idee?
-
@samsungfreak sagte: die Sonne beginnt unterzugehen oder bereits untergegangen ist soll das Licht eingeschaltet werden
Alternativ:
Oder
-
@paul53
Danke für deine Vorschläge. So ganz kann ich leider nicht folgen da mein Blockly KnowHow noch nicht ausreichend ist:(
Wenn wir bei deinem primären Vorschlag bleiben....kannst du diesen genauer erläutern?Wie bekommst du das "tv" im ersten "falls Baustein" dort hin bzw. was muss ich dort wie hinterlegen?
Im unteren Block der Wert nach TV-> Was soll dort hinterlegt werden?Ich denke wenn ich weiß was genau "TV" angibt bzw. wo ich das genau eingeben/angeben muss werde ich es verstehen:)
-
@samsungfreak sagte: "tv" im ersten "falls Baustein" dort hin
Das ist eine selbst erstellte (globale) Variable, die wahr ist, wenn der Fernseher läuft.
Wert ist eine lokale Variable, die den Wert des Trigger-Datenpunktes enthält.
-
@paul53 Ich muss hier nochmal darauf zurückkommen:)
Mein Blockly sieht aktuell wie folgt aus:
Hierbei schalten sich wie gewünscht die Lichter ein wenn ein Gerät (Fernseher Ping) auf "true" geändert wurde.
Wie kann ich aber die Lichter automatisch einschalten lassen wenn der Wert vom Gerät (Fernseher Ping) schon auf "true" war als noch die Sonne schien?Hast du da eine Idee?
-
@samsungfreak sagte: Wie kann ich aber die Lichter automatisch einschalten lassen wenn der Wert vom Gerät (Fernseher Ping) schon auf "true" war als noch die Sonne schien?
Mit einem Trigger bei Sonnenuntergang. Innerhalb prüfen, ob Fernseher läuft.
-
@paul53 Meinst du das so in der Art? Werde es ja nachher erst sehen/testen können:)
-
@samsungfreak sagte: Meinst du das so in der Art?
Ja, so in der Art.
-
@paul53 Danke für das Feedback. So in der Art heißt es geht besser aber wird so funktionieren?
-
@samsungfreak sagte: So in der Art heißt es geht besser aber wird so funktionieren?
Genau.
-
@paul53 Hat leider nicht funktioniert um 21:31 Uhr:( Hast du vielleicht eine Idee wodran es liegen könnte?
-
@samsungfreak sagte in Licht einschalten mit Astrofunktion + Abhängigkeit:
wodran es liegen könnte?
systemzeit des Servers?
-
@homoran Die passt hatte ich kontrolliert. Ist vielleicht ein Fehler im Skript? Oder weil ich zwei Blöcke innerhalb eines Skriptes verwende?
-
@homoran sagte: systemzeit des Servers?
Die Astrozeiten-Trigger sind unabhängig von der Zeitzone, sondern sie sind nur abhängig von den Koordinaten und dem Datum. Dass die Zeitzone stimmt, sieht man an der gezeigten Uhrzeit 21:31. Es muss also eine andere Ursache haben.
-
@samsungfreak solange du die Datenpunkte schwärzt werde ich dir nicht helfen können
-
@homoran sagte in Licht einschalten mit Astrofunktion + Abhängigkeit:
@samsungfreak solange du die Datenpunkte schwärzt werde ich dir nicht helfen können
Da hast du recht war zu viel bei den Objekten sorry (merke ich mir für das nächste Mal). aber:
@homoran @paul53 Ohne das ich was gemacht habe sind plötzlich wie gewünscht die Lichter angegangen (ich würde sagen genau 19 Minuten später/versetzt)
-
@samsungfreak sagte: genau 19 Minuten später/versetzt.
Wo wohnst Du? Vielleicht stimmt die angezeigt Uhrzeit des Sonnenuntergangs nicht?
Bei mir (Berlin) wird 21:33 Uhr angezeigt. -
@paul53 Du wirst recht haben! Ich lasse via Javascript die Astrozeiten jeden Tag aktualisieren/schreiben. Wenn ich aber Alexa frage wann Sonnenuntergang war sagte sie um 21:50 Uhr (also genau die 19 Minuten später).
Ich nutze dafür folgendes Script (hatte ich im Internet so gefunden). Ich denke mal, dass der Abschnitt "var times = suncalc.getTimes(d,48.802332199999995,9.0593212);" das Problem verursacht.
schedule({hour: 0, minute: 5}, createAstroData ); function createAstroData() { var suncalc = require('suncalc'); var d = new Date(); var times = suncalc.getTimes(d,48.802332199999995,9.0593212); for (var t in times) { var time = times[t]; var Hour = times[t].getHours(); var Minute = times[t].getMinutes(); if ( Hour < 10 ) { Hour = "0"+Hour; } if ( Minute < 10 ) { Minute = "0"+Minute; } var TimeString = Hour + ':' + Minute; var objectName = 'Astrozeiten.'+t; if ( !existsState(objectName )) { createState(objectName,TimeString,{name: "Astrozeit", type: 'string', role: 'value'}, function () {}); } else { setState(objectName,TimeString); } } } createAstroData();