Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Wo genau habt Ihr denn Probleme? Habe die gleiche Konstellation am laufen , funktioniert problemlos. Der Inhalt der hkknx.service-Datei sieht bei mir wie folgt aus:
Vielleicht magst du ja ein kleines HowTo schreiben.
Bin der Anleitung auf der Homepage nachgegangen, leider ohne Erfolg.
eventuel hast du ja auch ein Template für Proxmox angelegt.
HowTo ist nicht nötig, da die Schritte genau der veröffentlichten Anleitung entspricht. Lediglich die hkknx.service-Datei ist anders, dies habe ich aber schon geschrieben.
Bei der Verwendung der Software ohne Lizenz sind alle Funktionen verfügbar. Jedoch können nur 15 HomeKit Geräte verwendet werden. Eine Lizenz kann über die Weboberfläche erworben werden.
ich arbeite mich gerade in die Script-Thematik ein, da ich aber keinerlei Programmierkenntnisse habe, gestaltet sich mein erster Versuch bisher ehr schwierig. Vllt. könnt ihr mir etwas weiterhelfen? 😊
Ich möchte jede Stunde die Wetterprognose der kommenden Stunde abfragen (z. B. um 13Uhr --> Wetterdaten von 14Uhr). Aus der Prognose möchte ich ablesen, ob mit Wind zu rechnen ist. Wenn ja, dann Message und hochfahren der Jalousien.
Aktuell habe ich folgende Probleme mit dem Script:
Ich habe versucht aus dem Beispiel-Script die Abfrage um Mitternacht auf jede Stunde zu erweitern, leider scheint dies so nicht zu funktionieren? Gibt es eine schlankere Alterantive? ("Tu etwas zu jeder vollen Stunde")
Aus den Wetterdaten bekomme ich derzeit zwar die Windgeschwindigkeit, aber nicht die Böen - welche meiner Meinung nach für Jalousien der relevantere Wert ist. Gibt es hierzu eine Möglichkeit?
Vielen Dank!
Hier der Code:
Code:
var hkknx, fmt, time = import("hkknx"), import("fmt"), import("time")
var time0 = hkknx.AtTime(0,0,0)
var time1 = hkknx.AtTime(1,0,0)
var time2 = hkknx.AtTime(2,0,0)
var time3 = hkknx.AtTime(3,0,0)
var time4 = hkknx.AtTime(4,0,0)
var time5 = hkknx.AtTime(5,0,0)
var time6 = hkknx.AtTime(6,0,0)
var time7 = hkknx.AtTime(7,0,0)
var time8 = hkknx.AtTime(8,0,0)
var time9 = hkknx.AtTime(9,0,0)
var time10 = hkknx.AtTime(10,0,0)
var time11 = hkknx.AtTime(11,0,0)
var time12 = hkknx.AtTime(12,0,0)
var time13 = hkknx.AtTime(13,0,0)
var time14 = hkknx.AtTime(14,0,0)
var time15 = hkknx.AtTime(15,0,0)
var time16 = hkknx.AtTime(16,0,0)
var time17 = hkknx.AtTime(17,0,0)
var time18 = hkknx.AtTime(18,0,0)
var time19 = hkknx.AtTime(19,0,0)
var time20 = hkknx.AtTime(20,0,0)
var time21 = hkknx.AtTime(21,0,0)
var time22 = hkknx.AtTime(22,0,0)
var time23 = hkknx.AtTime(23,0,0)
for {
<-time0
<-time1
<-time2
<-time3
<-time4
<-time5
<-time6
<-time7
<-time8
<-time9
<-time10
<-time11
<-time12
<-time13
<-time14
<-time15
<-time16
<-time17
<-time18
<-time19
<-time20
<-time21
<-time22
<-time23
hourly, err = hkknx.GetHourlyWeather()
if err != nil {
println(err)
continue
}
for weather in hourly {
println(weather)
println(weather.Date.Hour())
println(time.Now().Hour())
if weather.Date.Day() != time.Now().Day() {
continue
}
if weather.Date.Hour() != time.Now().Hour().Add(1) {
continue
}
windSpeed = weather.WindSpeed * 3.6
println(windSpeed)
if windSpeed > 20 {
hm = fmt.Sprintf("%02d:%02d", weather.Date.Hour(), weather.Date.Minute())
msg = fmt.Sprintf("Starker Wind mit %.0f km/h wird für %s vorausgesagt.", windSpeed, hm)
hkknx.SendNotification("Windwarnung", msg)
// Add actions to open blinds
break
}
}
}
die Abfrage um Mitternacht auf jede Stunde zu erweitern
Da ist eine Sonderbehandlung nicht zu vermeiden:
WENN Stunde gleich 23 DANN ist eine Stunde weiter gleich 0
SONST ist eine Stunde weiter gleich Stunde + 1
Dieses Problem besteht, wenn man eine Version installiert, keinen Neustart ausführt und wieder die nächste Version drüber installiert. Lösung ist daher, nach einem Update muss hkknx neu gestartet werden.
1. Man kann keine neue Version installieren, wenn nach einem Update das System nicht neugestartet wurde. Somit sollte der Fehler "File '.hkknx.old' for the command ..." gar nicht mehr auftreten.
2. Es kann eine beliebige Version heruntergeladen und installiert werden. Somit kann man jetzt auch Downgrades über die Weboberfläche durchführen.
Ich habe versucht aus dem Beispiel-Script die Abfrage um Mitternacht auf jede Stunde zu erweitern, leider scheint dies so nicht zu funktionieren? Gibt es eine schlankere Alterantive? ("Tu etwas zu jeder vollen Stunde")
In deinem Fall hast du das Problem, dass du mit dem Code. Somit müsstest du ein select-Statement verwenden.
Code:
<-time0
<-time1
<-time2
...
Zuerst wartest bis es Mitternacht ist, dann wartest du bis es 1 Uhr morgens ist, dann 2 Uhr morgens, usw.
Dein Code wartet also sequenziell auf die Urzeiten. Das ist aber nicht das, was du willst.
Du willst Code ausführen, sobald eine der Uhrzeiten auftritt.
Somit müsstest du ein select-Statement verwenden.
Code:
select {
case <-time0:
case <-time1:
case <-time2:
}
Andere Möglichkeit wäre es immer 1 Stunde zu warten.
Für deinen Anwendungsfall wird es egal sein, ob man um 13:10 oder 13:40 den abfragt, oder?
Code:
var time = import("time")
for {
<-time.After(1 * time.Hour)
// ...
}
Aus den Wetterdaten bekomme ich derzeit zwar die Windgeschwindigkeit, aber nicht die Böen - welche meiner Meinung nach für Jalousien der relevantere Wert ist. Gibt es hierzu eine Möglichkeit?
Gute Idee. Die Windgeschwindigkeit für Böen werde ich einbauen...
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar