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.
so. Ich bin weiter gekommen. Und vielen Dank für die Hinweise. Die haben natürlich ins Schwarze getroffen. Ich schreibe zu den einzelnen Punkten mal ein kleines Beispiel. Vielleicht kann jemand nach mir davon profitieren.
Dieser Punkt ist einfach und eindeutig. Hab bei 2 Bedingungen das item: vergessen.
Code:
rules:
# Item das anzeigt, ob die Helligkeit außen mehr als 43kLux beträgt
se_item_brightnessGTmaxK: Zentral.Wetterdaten.Helligkeit.Sueden.GTmaxK
Clouding:
enter:
se_agemin_brightnessGTmaxK: [B]item:[/B]Zentral.Beschattung.Setup.Sueden.MinAgeBrightness
Die einzelnen Einstellungswerte werden dann über ein eigenes struct, dass nur die settings.direction enthält, eingebunden. Dieses Struct gibt es dann pro Seite (Osten, Süden, Westen) 1-mal. Über ..settings.direction wird dann der jeweils richtige Wert gezogen.
Hier als letztes Beispiel und meine Wunschvorstellung erfolgreich umgesetzt, angelehnt an dem Beispiel:
Ich kann zwar auf keinen Fall erklären, was hier z.B. {} mit den geschweiften Klammern passiert oder für was ich .format() benötige. Das versuche ich mir noch mal durch Lesen der Doku näher zu bringen. Laufen tut es jedenfalls wie Hölle.
Auch hier Danke für den dezenten Hinweis - wer Lesen kann, ist klar im Vorteil. Steht alles da und wenn man das macht, dann klappt es auch. Über die verlinkte Seite bin ich vorher noch nicht gestolpert. Entweder hab ich es tatsächlich einfach überlesen oder ich hatte einen anderen Einstieg, da ich ja grundsätzlich Umsteiger von autoblind bin und auch die 1.6.1 als Update installiert habe.
Ich kann jetzt jedenfalls Gas geben und will heute Abend zum Test eine Terrassentür einbinden (zusätzliche Bedingungen wegen Tür auf!) und eine 2. Seite. Wenn das problemlos klappt, gibt es den Update auf QAS...
Vielen Dank noch mal für die Hinweise.
Viele Grüße
Marco
Ich kann zwar auf keinen Fall erklären, was hier z.B. {} mit den geschweiften Klammern passiert oder für was ich .format() benötige. Das versuche ich mir noch mal durch Lesen der Doku näher zu bringen. Laufen tut es jedenfalls wie Hölle.
Notwendig ist relativ. Es ist halt klassische Python Nomenklatur, wenn du einen String hast, in den du was einfügen willst. Ginge sicher auch anders, bin kein Python Pro.
Auch hier Danke für den dezenten Hinweis - wer Lesen kann, ist klar im Vorteil. Steht alles da und wenn man das macht, dann klappt es auch. Über die verlinkte Seite bin ich vorher noch nicht gestolpert.
Ich denke auch, dass diese Seite sehr leicht zu übersehen ist. Msinn können wir das direkt in der Dokuwebseite optimieren?
Du kannst übrigens auch templates nutzen, um noch wildere Dinge zu machen. Sehr cool wäre, wenn du dann einen Blogbeitrag schreiben würdest. Hab ich schon lange auf dem Radar, hier einen advanced zu schreiben, aber das wär eh besser, wer anderes macht es.
Mit shng 1.7 gibt es übrigens nested structs und die Möglichkeit, Listen innerhalb von structs zu mergen. Besonders cool für eval_trigger für das "Stateengine Item" (= rules). Vielleicht mal in templates rein schnuppern und auf 1.7 warten..?
Da die Seiten aus den Plugindaten generiert werden, sehe ich im Moment keine Möglichkeit die Seite hervorzuheben. Die Seite ist außer in der Doku selbst auch noch aus der Plugin Liste im Admin Interface erreichbar.Onkelandy Du könntest höchstens einen Blog Artikel verfassen und aus dem auf alle relevanten Doku Seiten verlinken.
Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
Es wäre vermutlich schon hier hilfreich, in der zweiten Spalte "Plugin Konfiguration" hinzuzufügen, also entweder zusätzlich oder besser anstatt dem Link auf dem Pluginnamen: https://www.smarthomeng.de/user/plug...ns_system.html
Ansonsten ist sicher schon viel gewonnen, wenn ich auf die erste Seite der stateengine Plugin darauf verlinke wie es bei den anderen Plugins eh schon passiert.
Wärs vielleicht noch ne Idee, in der Pluginübersicht einen Hinweis auf etwaige vorhandene Structs zu machen? Icon mit Link auf admin/items/structs, vielleicht sogar mit aktiviertem Filter? Problem auf jener Seite ist, dass sie rein zufällig sortiert scheint und man auch nicht zwingend dran denkt, dort nach Templates der Plugins zu suchen.
Ich werde da erstmal nichts tun. Ich kann schon das März Release Datum für die v1.7 nicht halten, da mich durch die Corona Themen die Firma stark in Anspruch nimmt. Wenn ich jetzt noch ein Thema angehe (das überarbeiten des Generators für die Plugin Doku), reden wir von frühestens Mai für ein Release.
Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
Du kannst übrigens auch templates nutzen, um noch wildere Dinge zu machen. Sehr cool wäre, wenn du dann einen Blogbeitrag schreiben würdest. Hab ich schon lange auf dem Radar, hier einen advanced zu schreiben, aber das wär eh besser, wer anderes macht es.
Ich kann gerne einen Blogbeitrag schreiben. Von advanced können wir da aber nicht sprechen. Sobald mein Setup läuft, kann ich mich da mal dran machen. Gibt es Vorlagen oder HowTo's zum Erstellen des Blogeintrags?
2020-04-15 21:41:59.089888 Trying to get value of eval <bound method SeCurrent.get_time of <plugins.stateengine.StateEngineCurrent.SeCurren t object at 0x7efe7802bdd0>>
2020-04-15 21:41:59.090377 Condition 'time': min=[datetime.time(7, 11)] max=[datetime.time(22, 30)] negate=False current=21:41:59.081569
2020-04-15 21:41:59.090729 Checking minvalue 07:11:00 and maxvalue 22:30:00
2020-04-15 21:41:59.090977 given limits ok -> matching
und wie vorher, mit der Änderung im Plugin:
Code:
2020-04-15 22:13:33.342579 Trying to get value of eval <bound method SeCurrent.get_time of <plugins.stateengine.StateEngineCurrent.SeCurren t object at 0x7f0e65f35310>>
2020-04-15 22:13:33.342849 Checking eval: se_eval.get_relative_itemproperty('..WT_hoch_min_t ime', 'value').
2020-04-15 22:13:33.343171 Executing method 'get_relative_itemproperty(..WT_hoch_min_time, value)'
2020-04-15 22:13:33.343428 Testing for relative item declaration ..WT_hoch_min_time
2020-04-15 22:13:33.343994 Return item property value from DG.Rollo.Terrasse.autoTagNacht.WT_hoch_min_time: 07:11
2020-04-15 22:13:33.344409 Checking eval: se_eval.get_relative_itemproperty('..WT_runter_max _time', 'value').
2020-04-15 22:13:33.344737 Executing method 'get_relative_itemproperty(..WT_runter_max_time, value)'
2020-04-15 22:13:33.344957 Testing for relative item declaration ..WT_runter_max_time
2020-04-15 22:13:33.345329 Return item property value from DG.Rollo.Terrasse.autoTagNacht.WT_runter_max_time: 22:30
2020-04-15 22:13:33.345699 Condition 'time': min=[datetime.time(7, 11)] max=[datetime.time(22, 30)] negate=False current=22:13:33.333295
2020-04-15 22:13:33.345975 Checking minvalue 07:11:00 and maxvalue 22:30:00
2020-04-15 22:13:33.346187 given limits ok -> matching
Bin zufrieden und komme weiter ;-) Werde weiter umstellen und dabei noch viel zu testen haben!
Vielen Dank für die schnelle Hilfe
und btw. auch generell: Danke für die gute Arbeit! So macht es Spaß!
Es gibt übrigens ein Script im Pluginordner, der beim Umstieg helfen könnte (wobei ich das lange nicht mehr getestet habe )
Ich empfehle auch, beim Umstieg das struct Feature statt "se_use" zu nutzen, das ist dann ein ganzes Stück flexibler. Die Doku und der Blog https://www.smarthomeng.de/starting-...toblind-plugin geben dir sicher auch Tipps.
...genau, da bin ich dabei, von se_use auf struct umzustellen. Und noch einiges mehr.
Die Doku/ den Blog kenne ich - auch darauf bezog sich mein Dank! Da gibt es einige Anregungen für mich.
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