HM-LC-Bl1PBU-FM per skript steuern

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: HM-LC-Bl1PBU-FM per skript steuern

Beitrag von alchy » 14.11.2019, 22:33

michaelapp hat geschrieben:
14.11.2019, 21:44
nein ich kann mit einem Slider nur eine Werteliste bedienen.
Na dann musst du bei den festen Werten bleiben.

ABE2000 hat geschrieben:
14.11.2019, 21:52
Wie sieht's hier aus?
Ich würde es nicht so machen. Damit ist ja noch mehr fest eingestellt.

Gesetzt den Fall die Werteliste enthält "Zahlen" als Wert kann man dies auslesen und umrechnen.

[EDIT]
für das hier gepostet Infos, sollte es so gehen:

Code: Alles auswählen

entfernt
extra ausgeschrieben aber ohne Fehlerhandling. Das wird auf dem Handy nix.

Alchy
Zuletzt geändert von alchy am 14.11.2019, 22:40, insgesamt 1-mal geändert.

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

michaelapp
Beiträge: 280
Registriert: 16.05.2018, 22:54
Hat sich bedankt: 6 Mal
Danksagung erhalten: 5 Mal

Re: HM-LC-Bl1PBU-FM per skript steuern

Beitrag von michaelapp » 14.11.2019, 22:40

Die Werteliste sieht wie folgt aus:

Code: Alles auswählen

 00;;;;;;;;;;;;;;;;;;;;;;;;;25;;;;;;;;;;;;;;;;;;;;;;;;;50;;;;;;;;;;;;;;;;;;;;;;;;;75 ;;;;;;;;;;;;;;;;;;;;;;;;;100;
Wenn ich mit dem Slider den Wert setze, steht 50 oder 75 usw. drin.

Gruß
Michael

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: HM-LC-Bl1PBU-FM per skript steuern

Beitrag von alchy » 14.11.2019, 22:44

Mit so einer Werteliste wird das nix.

Wie kommt man auf so eine Idee?

Eine Werteliste hat so auszusehen

Code: Alles auswählen

0;10;20;30;40;50;60;70;80;90;100
oder auch so:

Code: Alles auswählen

0;25;50;75;100
oder so ähnlich.

Also habe ich mein Script wieder entfernt.
Die Version von ABE2000 wird damit auch nicht funktionieren.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

michaelapp
Beiträge: 280
Registriert: 16.05.2018, 22:54
Hat sich bedankt: 6 Mal
Danksagung erhalten: 5 Mal

Re: HM-LC-Bl1PBU-FM per skript steuern

Beitrag von michaelapp » 14.11.2019, 22:57

Das ist die Lösung das ich mit einem Slider die Uhrzeiten einstellen kann, funktioniert eigentlich super.

Ich Probier mal die Werteliste anzupassen.

Wenn ich jetzt die Werteliste wie folgt habe

Code: Alles auswählen

25;50;75;100;
Wie würde die Lösung dann aussehen?

Gruß
Michael

Fonzo
Beiträge: 6741
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 484 Mal

Re: HM-LC-Bl1PBU-FM per skript steuern

Beitrag von Fonzo » 14.11.2019, 22:59

michaelapp hat geschrieben:
14.11.2019, 19:47
Ich setze die Variable via NEO und einem Slider ...

Dann brauch ich ein Programm das mir die Neo Variable (Werteliste) in eine neue Variable (Zahl) schreibt :-)
Ich verstehe ehrlich gesagt nicht warum und wozu Du eine Werteliste brauchst? Warum nimmst Du nicht einfach eine Systemvariable vom Typ Zahl von 0 -100 und legst da einen Slider drauf? Dann brauchst Du auch keine zwei Variablen.

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: HM-LC-Bl1PBU-FM per skript steuern

Beitrag von alchy » 15.11.2019, 08:00

michaelapp hat geschrieben:
14.11.2019, 22:57
Wie würde die Lösung dann aussehen?
Nehmen wir an du hast eine Werteliste mit den Werten

Code: Alles auswählen

0;25;50;75;100
und setzt diese auf den Wert 50 (per Programm, Script, Slider....)
dann ergibt eine Abfrage mittels .Value() den Wert 2 denn die Werte werden durchgezählt (von 0 angefangen)

Jetzt soll umgerechnet werden.
Grundsatzfrage: Was aber die 2 oder die 50 :?: :?:
Beides ist möglich.

DAS Script von ABE2000 versucht dies umzusetzen passend zu einer Werteliste wie in meinem Beispiel verwendet. Allerdings eben ganz hart verdrahtet.
Wert0 ist 0%, Wert 2 ist 50%, Wert 4 ist 100 usw.
Vorteil: Du könntest die Werte deiner Werteliste auch umschreiben in

Code: Alles auswählen

aus;viertel;halbe Kraft; dreiviertel;volle Kanne;
Jetzt kommst aber du. Abgesehen von deiner Werteliste mit >100 Werten aber nur 5 nicht leer. :shock:
Du legst eine Werteliste an mit fehlender 0 als Wert

Code: Alles auswählen

25;50;75;100; 
an. Und wunderst dich warum bei einer Auswahl von 75 im Slider das Rollo/der Dimmer auf 50% geht :wink:
Also doch lieber die 75 umrechnen? wie gesagt Grundsatzfrage. Beides ist möglich.
Aber ich würde erstmal versuchen ob es nicht anders geht indem man eine Zahlenvariable verwendet.

Fonzo hat geschrieben:
14.11.2019, 22:59
Ich verstehe ehrlich gesagt nicht warum
Das hatten wir ja schon. :roll:
Ich kenne den Neo Kram nicht, wenn es keinen Slider für Zahlenvariablen geben sollte sondern nur für Wertelisten dann wäre das vielleicht ein Argument. Oder man will sprechende Werte wie z.B.

Code: Alles auswählen

gaaanz dunkel;Festfrieschutz;Lüftungsposition;.....
zum steuern verwenden.
Dann macht eine Werteliste auch wieder Sinn.

Aber ich denke das ist wahrscheinlich gar nicht so und michaelapp ist nur nicht bereit sich auf eine Lösung einzulassen.

PS: und er müsste eine Zahl von 0-1 anlegen um nur eine Variable zu benutzen. Eine Zahl von 0-100 müsste leider auch erst "umgerechnet" werden.


Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

michaelapp
Beiträge: 280
Registriert: 16.05.2018, 22:54
Hat sich bedankt: 6 Mal
Danksagung erhalten: 5 Mal

Re: HM-LC-Bl1PBU-FM per skript steuern

Beitrag von michaelapp » 15.11.2019, 08:53

Guten morgen,

ich bin schon bereit mich auf eine Lösung einzulassen, ich nehme gerne jeden Lösungsvorschlag an.
Jeder hat aber seine eigene Umgebung, bei mir ist es z.b. Neo mit der ich meine Hausautomation visualisiere.

Ich hab heute nacht noch kurz eine Systemvariable mit dem Zahlenwert 0-100 angelegt und im Neo einen Slider drauf gelegt, es funktioniert.

Jetzt habe ich natürlich zwei Möglichkeiten:

1. Ich nehme den Zahlenwert 0-100 dividiere ihn durch 100 und schreibe diesen in eine neue Variable und verwende diese für die Steuerung.
Nachteil: Ich brauch ein weiteres Programm und eine weitere Variable.
Vorteil: Ich kann im Neo die 0-100 der ersten Variable direkt als Wert anzeigen.

2. Ich ändere den Zahlenwert in meiner Variable auf 0-1 und hinterlege im Slider (muss ich noch testen) Schritte von 0.25.
Nachteil: Ich muss schauen ob ich im Neo rechnen (*100) kann um die Prozent Werte sauber anzeigen zu lassen.
Vorteil: Ich brauch auf der CCU nur eine Variable, kein Programm und kann den Wert direkt im Programm einsetzen.
Und wunderst dich warum bei einer Auswahl von 75 im Slider das Rollo/der Dimmer auf 50% geht :wink:
Mein Rollladen ist immer auf 100% gefahren :-(

Gruß
Michael

Xel66
Beiträge: 14164
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 585 Mal
Danksagung erhalten: 1500 Mal

Re: HM-LC-Bl1PBU-FM per skript steuern

Beitrag von Xel66 » 15.11.2019, 09:03

michaelapp hat geschrieben:
15.11.2019, 08:53
Nachteil: Ich brauch ein weiteres Programm und eine weitere Variable.
Wo ist da genau das Problem? Musst Du irgendwas pro Variable und/oder Programm zahlen? Der CCU macht das nichts aus. Die kann weit mehr verwalten.
michaelapp hat geschrieben:
15.11.2019, 08:53
Mein Rollladen ist immer auf 100% gefahren
Logisch! Wie Dir oben erklärt wurde, wird bei einer Werteliste nicht der Wert, den Du in der WebUI siehst, an das nächste Programm oder den Aktor übertragen, sondern der Index der Werteliste. Wenn Du eine Werteliste mit 0,25,50,75,100 hast dann werden an das Programm nur 0,1,2,3,4 übertragen. Und alle Werte (außer dem Startwert) sind größer/gleich 1. Bei einem Nutzbaren Werteumfang von 0 bis 1 entsprechen also (fast) alle Werte >=100%. Darum kann das nicht direkt funktionieren. Du benötigst immer ein Programm/Script, welches Dir die Indizes in eine verwertbare Größe wandelt.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Fonzo
Beiträge: 6741
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 484 Mal

Re: HM-LC-Bl1PBU-FM per skript steuern

Beitrag von Fonzo » 15.11.2019, 10:43

alchy hat geschrieben:
15.11.2019, 08:00
Ich kenne den Neo Kram nicht, wenn es keinen Slider für Zahlenvariablen geben sollte sondern nur für Wertelisten dann wäre das vielleicht ein Argument.
Natürlich kann man einen Slider auf eine Float Variable setzten, das ist völlig normal, alles andere wäre ja auch nicht zielführend, das geht bei einer CCU mit einer Systemvariable vom Typ Zahl ganz genauso, wie bei anderen System, die über einen Slider aus NEO angesteuert werden.
Wenn der Grund für eine Werteliste sein sollte, dass man nur bestimmte Werte setzten will also 25, 50, 75, 100, dann ist dennoch eine Werteliste der falsche Ansatz. Ein Slider wird immer auf Float gesetzt und was man dann ändert ist lediglich die Schrittweite, diese wird dann eben auf 25 gesetzt, dann werden auch nur die Werte 25, 50, 75, 100 vom Slider übergeben. Das erspart einem dann das ganze unnötige hin und her rechen auf der CCU selber, man will schließlich einfach nur gezielt einen Wert an eine Systemvariable übergeben.

Fonzo
Beiträge: 6741
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 484 Mal

Re: HM-LC-Bl1PBU-FM per skript steuern

Beitrag von Fonzo » 15.11.2019, 10:56

michaelapp hat geschrieben:
15.11.2019, 08:53
Jetzt habe ich natürlich zwei Möglichkeiten:
Wenn es sich nur um einen einzelnen Rollladen handelt ist die Frage warum Du überhaupt den Umweg über eine Systemvariable gehst, man könnte ja auch einfach den Aktor direkt einstellen und den Status des Aktors anzeigen. Wenn es sich um mehrere Rollläden handelt, würde ich dann die Variante wählen mit 0-100, das kannst Du dann auch passend anzeigen. Den Wert kannst Du dann immer noch auf der CCU selber durch 100 dividieren und dann diesen Wert als Steuerung nutzten.

Antworten

Zurück zu „HomeMatic allgemein“