Kann Systemvariabeln nicht per Programm setzen

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

drose28357
Beiträge: 75
Registriert: 14.10.2011, 09:05

Re: Kann Systemvariabeln nicht per Programm setzen

Beitrag von drose28357 » 07.11.2018, 10:18

alchy hat geschrieben:
06.11.2018, 13:42
Einem Kanal zugeordnete Systemvariable ist an der Stelle von jeher nicht sichtbar.
Das ist kein "Fehler" des Systems.
O.K. also "works as designed".
Aber: Wie kann ich dann im Ausführungszweig eines Programms eine verknüpfte Systemvariable setzen ?
Oder anders: Warum sollte das nicht zulässig sein ?
und warum funktioniert es, wenn mann die Verknüpfung aufhebt, die Systemvariable im Programm einstellt und danach wieder verknüpft ?

Benutzeravatar
JRiemann
Beiträge: 3738
Registriert: 12.11.2015, 21:05
Wohnort: Aurich

Re: Kann Systemvariabeln nicht per Programm setzen

Beitrag von JRiemann » 07.11.2018, 10:53

Variablen die einem Gerät zugeordnet wurden sind danach unter den Optionen des Gerätes/Kanals zu finden.
Der Anzeigeort der Variable ist vorrangig nur optischer/organisatorischer Natur.
Zuletzt geändert von JRiemann am 07.11.2018, 10:57, insgesamt 1-mal geändert.
Viele Grüße!
Jörg

alchy
Beiträge: 7714
Registriert: 24.02.2011, 01:34

Re: Kann Systemvariabeln nicht per Programm setzen

Beitrag von alchy » 07.11.2018, 10:54

In dem du das Handbuch liest. :roll: (denke ich mal, das das da drin steht)

Systemvariablen welche mit einem Kanal verknüpft sind erscheinen danach innerhalb der Programmierung bei dem Kanal.

Ich muss also im DANN eines Programmes:
nicht Systemzustand auswählen um an die Systemvariable zu kommen
SONDERN
Geräteauswahl > den Kanal auswählen und in der DropDownliste erscheint dann die verknüpfte Systemvariable als Auswahlmöglichkeit.

Alchy

.................... 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.

drose28357
Beiträge: 75
Registriert: 14.10.2011, 09:05

Re: Kann Systemvariabeln nicht per Programm setzen

Beitrag von drose28357 » 07.11.2018, 18:15

Hallo Alchy,
etwas laut geschrieben, aber ich habs jetzt verstanden :oops: und nachvollzogen. 8)
Gruß aus Bonn ...

Benutzeravatar
jmaus
Beiträge: 3729
Registriert: 17.02.2015, 14:45
Wohnort: Dresden
Kontaktdaten:

Re: Kann Systemvariabeln nicht per Programm setzen

Beitrag von jmaus » 07.11.2018, 18:25

alchy hat geschrieben:
07.11.2018, 10:54
Systemvariablen welche mit einem Kanal verknüpft sind erscheinen danach innerhalb der Programmierung bei dem Kanal.

Ich muss also im DANN eines Programmes:
nicht Systemzustand auswählen um an die Systemvariable zu kommen
SONDERN
Geräteauswahl > den Kanal auswählen und in der DropDownliste erscheint dann die verknüpfte Systemvariable als Auswahlmöglichkeit.
Da ich selbst hierüber bereits einmal gestolpert war in der Vergangenheit frage ich mich in dem Zusammenhang gerade ob dir, alchy, aus deiner langjährigen Erfahrung ein Grund einfällt warum das so beschränkt sein sollte? Meines Erachtens sollte es, obwohl eine Systemvariable einem Kanal zugeordnet sein, technisch möglich sein diese wie eine normale Systemvariable zu setzen. Meines Erachtens ist das eine reine Beschränkung der WebUI und IMHO sollte es doch legitim sein darüber nachzudenken ob es Sinn macht diese Beschränkung aufzuheben. Oder übersehe ich da etwas?
RaspberryMatic 3.41.11.20181126 @ TinkerS mit ~150 HomeMatic Geräten + ioBroker – GitHubPayPal

drose28357
Beiträge: 75
Registriert: 14.10.2011, 09:05

Re: Kann Systemvariabeln nicht per Programm setzen

Beitrag von drose28357 » 08.11.2018, 07:32

jmaus hat geschrieben:
07.11.2018, 18:25
.. Meines Erachtens sollte es, obwohl eine Systemvariable einem Kanal zugeordnet sein, technisch möglich sein diese wie eine normale Systemvariable zu setzen.
Zumal das ja durch den Umweg Systemvariable entkoppeln, auswählen, koppeln schon jetzt möglich ist.
Welcher fachliche Sinn steckt den hinter der Kopplung?
Dienen gekoppelte Systemvariablen nur der Darstellung?
Hängt an der Kopplung eine interne Logik, die den Zustand von Systemvariable und Aktor miteinander gekoppelt?

alchy
Beiträge: 7714
Registriert: 24.02.2011, 01:34

Re: Kann Systemvariabeln nicht per Programm setzen

Beitrag von alchy » 08.11.2018, 09:26

drose28357 hat geschrieben:
07.11.2018, 18:15
etwas laut geschrieben,
Was ist daran laut, wenn ich meine Aussage an bestimmten Stellen durch bold betone? :shock: :twisted:
Das dient dem Verständnis der Zusammenhänge und betont das wichtige.
Wenn ich laut schreiben würde wäre das eher so: "LIES DAS HANDBUCH *RTFM* " und áuch das wäre wohl hier berechtigt. Denn:
drose28357 hat geschrieben:
07.11.2018, 18:15
aber ich habs jetzt verstanden :oops: und nachvollzogen. 8)
Nein hast du nicht.
Du hast noch nicht mal den Wink mit dem Betonpfeiler zum Handbuch verstanden, wie deine weiteren Fragen
drose28357 hat geschrieben:
08.11.2018, 07:32
Welcher fachliche Sinn steckt den hinter der Kopplung?
Dienen gekoppelte Systemvariablen nur der Darstellung?
Hängt an der Kopplung eine interne Logik, die den Zustand von Systemvariable und Aktor miteinander gekoppelt?
zum Thema beweisen.
Ich habe mal für dich das WebUI_Handbuch_eQ-3.pdf durchsucht.
Auch weil ich wissen wollte, ob der Passus dort erwähnt ist wie ich vermutete. Nun, er ist es.
sysvar_kanalzuordnung_handbuch.jpg
Im Ausschnitt und im Handbuch grundsätzlich kannst du nachlesen, warum und wieso es so ist.

drose28357 hat geschrieben:
08.11.2018, 07:32
Zumal das ja durch den Umweg Systemvariable entkoppeln, auswählen, koppeln schon jetzt möglich ist.
Natürlich muss es so sein. Alles andere wäre ja ein Bug. :mrgreen:
Dein Umweg ist aber an der Stelle absolut unötig, wenn das so machen würdest wie ich für dich viel zu laut beschrieben habe.
Es gibt keinen vernünftigen Grund, warum ich innerhalb eines Klickibuntiprogramms den Umweg über:Entkoppeln vom Kanal + in Programm einfügen + Koppeln mit Kanal gehen sollte oder muss.

Und wieder habe ich bold benutzt ohne laut zu werden, denn es gibt eben Unterschiede:

Nehmen wir die Startseite:
Etwas anderes ist es z.B. wenn du eine solche verknüpfte Systemvariable auf die Startseite bringen willst.
(KLickibunti Startseite >> Einstellungen > Benutzerverwaltung >KLICK> Bearbeiten > Systemvariable hinzufügen)
Dort muss der Umweg mittels entkoppeln gegangen werden, da dort die mit einem Kanal verknüpften Systemvariablen auch nicht angezeigt werden.

Nehmen wir mal die Favoriten.
Habe ich eine Systemvariable einem Kanal zugeordnet, muss ich ja bekanntermaßen auch dort erst vom Kanal entkoppeln, wenn ich NUR* die Systemvariable den Favoriten hinzufügen will.
*Klar kann ich auch den Kanal den Favoriten zuordnen, dann habe ich die Information der verknüpften Systemvariable auch gleich mit, aber manchmal will ich das ja gar nicht, weil mir die Informationen der Systemvariable genügen.

Nehmen wir Status und Bedienung
Auch ich kann eine Systemvariable z.B. dem Kanal 0 eines Gerätes zuordnen.
Der Kanal 0 (i.d.R. Maintenance) wird aber an vielen Stellen gar nicht ausgegeben bzw. angeboten. Nehmen wir z.B. nur mal Status und Bedienung oder die Raumzuordnung. Also auch da muss ich mich verbiegn um das zu bekommen was ich erreichen will.

nehmen wir irgend ein anderes Beispiel aus deiner Standard-Klickibunti
.....

@jmaus da hast du ein paar Sachen zum Nachdenken
Aus dem Bauch heraus würde wahrscheinlich dazu tendieren, eine mit einem Kanal verknüpfte Systemvariable auch weiterhin bei den Systemvariablen mit auszugeben und nur zusätzlich bei dem Kanal. Die "Ungereimtheiten" wie ich im Ansatz oben beschrieben habe, wäre mir schon Grund genug.
Warum die Programmiere das so gemacht haben, wäre bei diesen selber zu erfragen. Das kannst du aber mit deinen Verbindungen weitaus einfacher.
Falls ich mal Bock zu habe, kann ich mir auch mal die Internas dazu anschauen und die Änderungen welche ich schon selber habe. Aber damit ist nicht so schnell zu rechnen. Alleine schon aus dem Grund, weil dann wieder wahrscheinlich nur die RaspberryMatic Nutzer davon profitieren.

Alchy

.................... 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.

Benutzeravatar
jmaus
Beiträge: 3729
Registriert: 17.02.2015, 14:45
Wohnort: Dresden
Kontaktdaten:

Re: Kann Systemvariabeln nicht per Programm setzen

Beitrag von jmaus » 08.11.2018, 09:55

alchy hat geschrieben:
08.11.2018, 09:26
Falls ich mal Bock zu habe, kann ich mir auch mal die Internas dazu anschauen und die Änderungen welche ich schon selber habe. Aber damit ist nicht so schnell zu rechnen. Alleine schon aus dem Grund, weil dann wieder wahrscheinlich nur die RaspberryMatic Nutzer davon profitieren.
Das ist wirklich schade das du so denkst und teilweise handelst. Wenn du das alles bereits für dich so umgesetzt hast durch eigene WebUI patches dann verstehe ich wirklich nicht warum du diese Anpassungen nur nicht teilen willst weil du denkst sie kommen lediglich RaspberryMatic zu gute? Ich denke das RaspberryMatic Projekt hat schon oft genug bewiesen das Dinge die zwar zuerst für RaspberryMatic entwickelt wurden irgendwann in die CCU Firmware übernommen werden (ReGa Anpassungen, WebUI Verbesserungen/Bugfixes, etc).

Es ist immer nur eine Frage der Aufbereitung der Patches damit eQ3 diese "versteht" und leicht integrieren kann und natürlich dann auch eine Frage der Geduld, denn eQ3 hat nunmal eine andere Agenda und manchmal bedarf es hier eben auch einer gewissen Diplomatie und Überzeugungskraft um Änderungen so darzulegen das die Entscheidungsträger davon überzeugt werden das diese Änderung auch für die CCU Firmware von Vorteil wäre. Hier zu denken, dass man mit der Brechstange vorgehen kann oder eQ3 bettelnd zu einem kommt damit das über viele Jahre erarbeitete KnowHow doch endlich gewürdigt wird ist eben zu kurz gedacht.

Ich kann also nur noch einmal an dich und alle appellieren: Wenn ihr nützliche WebUI Anpassungen/Fixes habt, bringt die vor und ich kann schauen ob wir die zusammen in die WebUI integriert bekommen und dann kommt das natürlich zwar zuerst in die WebUI von RaspberryMatic. Auf Grund der inzwischen recht großen RaspberryMatic Nutzerzahlen (>10T) zeigt das gegenüber eQ3 inzwischen aber auch schon sehr gut das diese Dinge anscheinend auch von der Community so gewollt und eben so auch getestet wurde. Und dann werden diese WebUI Verbesserungen auch früher oder später (wie in der Vergangenheit bereits passiert) auf die Roadmap von zukünftigen CCU FirmwareUpdates kommen und dann fester Bestandteil werden.
RaspberryMatic 3.41.11.20181126 @ TinkerS mit ~150 HomeMatic Geräten + ioBroker – GitHubPayPal

alchy
Beiträge: 7714
Registriert: 24.02.2011, 01:34

Re: Kann Systemvariabeln nicht per Programm setzen

Beitrag von alchy » 08.11.2018, 10:48

Warum ich das so sehr?
Wie üblich Ursache und Wirkung.
Das es so ist wie es ist, ist der Vergangenheit und meinen Erfahrungen geschuldet.
Nehmen wir meine equalthan Anpassung (Thread ).
Ist die mittlerweile Teil der offiziellen Firmware? Ich dächte nicht. Und da gibt es viele weitere Sachen.
jmaus hat geschrieben:
08.11.2018, 09:55
Hier zu denken, dass man mit der Brechstange vorgehen kann oder eQ3 bettelnd zu einem kommt damit das über viele Jahre erarbeitete KnowHow doch endlich gewürdigt wird ist eben zu kurz gedacht.
Und wieder disqualifiziert. Hab ich weder gemacht noch erwartet.
Ich bin hier nicht für EQ-3 tätig sondern für die User des Forums!
Allerdings sorgen Scripte, Änderungen, Patche und nicht zuletzt der Support der hier von allen geleistet wird, auch für ein ständig wachsendes Publikum und Umsatz bei EQ-3. Und ja, ausdrücklich, da ist auch deine Arbeit mit von Belang. Also erwartet man auch, das man zumindest ernst genommen wird.

Aber um zum Thema zurückzukommen.
DEINE Verbindungen zu EQ-3 sollten doch dafür sorgen, das du erfährst warum die Programmierer es so gemacht haben. Für mich ist es ungleich schwerer.
Ich kann zwar die Änderungen durchführen, aber ich muss dann auch die Wirkungen der Änderungen absehen können und das geht fast ausschließlich in dem ich vor der Kiste sitze und teste.

Ich habe mal schnell geschaut - Bisher sehe ich keinen Grund, warum man die kanalverknüpften Systemvariablen nicht unter Status und Bedienung sehen sollte. Das bedarf auch nur einer sehr geringen Änderung an einer Datei.

[EDIT]
zum Test für alle, die es gerne testen wollen - aber nur grob getestet CCU3 - aktuelle Firmware 3.41.7:

Pfad:

Code: Alles auswählen

/www/rega/pages/tabs/control/sysvars.htm
1. vorher natürlich Backup anlegen dann Schreibschutz aufheben:

Code: Alles auswählen

mount -o remount,rw /
2. Originaldatei umbenennen und dann ersetzen durch die gezippte Version aus Anhang.
Zum einfacheren Finden der Änderung suchen nach Alchysagt

3. Schreibschutz setzen:

Code: Alles auswählen

mount -o remount,ro /
4. Rega neustarten

Code: Alles auswählen

/etc/init.d/S70ReGaHss restart

5. Die Kanalverknüpften Dateien werden dann unter Status und Bedienung mit aufgeführt.

das kannst du dir nun anschauen und einen Patch daraus erstellen und / oder ggf. nutzen.

Alchy
Dateianhänge
sysvars.zip
(2.12 KiB) 14-mal heruntergeladen
Zuletzt geändert von alchy am 08.11.2018, 11:21, insgesamt 1-mal geändert.
Grund: [EDIT]

.................... 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.

Benutzeravatar
jmaus
Beiträge: 3729
Registriert: 17.02.2015, 14:45
Wohnort: Dresden
Kontaktdaten:

Re: Kann Systemvariabeln nicht per Programm setzen

Beitrag von jmaus » 08.11.2018, 14:23

alchy hat geschrieben:
08.11.2018, 10:48
Warum ich das so sehr?
Wie üblich Ursache und Wirkung.
Das es so ist wie es ist, ist der Vergangenheit und meinen Erfahrungen geschuldet.
Nehmen wir meine equalthan Anpassung (Thread ).
Ist die mittlerweile Teil der offiziellen Firmware? Ich dächte nicht. Und da gibt es viele weitere Sachen.
Nein, es ist *noch* nicht in der offiziellen Firmware. Das heisst aber noch lange nicht das es nie kommen wird. Wie ich aber geschildert habe dauert so etwas eben etwas länger und muss es erst einmal durch vorsichtiges herantasten und Überzeugungsarbeit auf die Liste für das nächste Firmware-Update schaffen. Angesprochen ist das bereits und ich werde es auch wieder ansprechen bei weiteren Besprechungen. Versprechen kann ich allerdings natürlich nichts da es im Endeffekt nicht in meiner Hand liegt die letztendliche Entscheidung zu treffen. Und wenn z.B. vielleicht sogar einfach die Entscheidung gegen die Aufnahme nur daher rührt, dass man den Aufwand zum anpassen der Dokumentation für zu hoch für den nutzen sieht oder dadurch entscheidet das lieber auf ein späteres Update zu verschieben wo man dann solche Änderungen die auch Dokumentationsanpassungen notwendig machen poolen kann, dann hab ich darauf leider keinen Einfluss. Und nur deshalb dann in Zukunft am besten hier keine Patches/Verbesserungen mehr zu posten nur weil eQ3 das nicht sofort oder in kürzester Zeit aufnimmt ist IMHO etwas zu kurz gedacht. Genau dafür gibt es ja RaspberryMatic. Da fliessen die Community-Patches/Verbesserungen ein und wenn das nur genügend Leute nutzen wird auch eQ3 irgendwann das Eine oder Andere übernehmen. Ich bemühe mich hier wirklich sehr intensiv darum das hier soviel wie möglich übernommen wird, das kannst du mir glauben. Und das eQ3 wirklich viel übernimmt musst du auch eigentlich sehen wenn du mal die verhältnismäßig geringen Unterschiede zwischen RaspberryMatic und der CCU3 Firmware siehst.
alchy hat geschrieben:
08.11.2018, 10:48
DEINE Verbindungen zu EQ-3 sollten doch dafür sorgen, das du erfährst warum die Programmierer es so gemacht haben. Für mich ist es ungleich schwerer.
Ich kann zwar die Änderungen durchführen, aber ich muss dann auch die Wirkungen der Änderungen absehen können und das geht fast ausschließlich in dem ich vor der Kiste sitze und teste.
Und denkst du das seit es die CCU Platform gibt (immerhin schon >10 Jahre) immer noch die gleichen Entwickler daran arbeiten und jede einzelne Zeile und die Gründe hinter jeder Änderung noch exakt und bis ins letzte Detail durchschauen? Wer kann sowas schon von seiner Firma behaupten in dem Produkte erzeugt werden die >10-20 Jahre alt sind und bereits 1-2 Generationen von Personal ausgewechselt wurde?!?
alchy hat geschrieben:
08.11.2018, 10:48
Ich habe mal schnell geschaut - Bisher sehe ich keinen Grund, warum man die kanalverknüpften Systemvariablen nicht unter Status und Bedienung sehen sollte. Das bedarf auch nur einer sehr geringen Änderung an einer Datei.
Danke alchy. Das hab ich bereits vermutet und werden schauen das ich den Patch für die nächsten RaspberryMatic Version aufnehme und natürlich entsprechend für eQ3 auch so aufbereite das dieser dann so einfach und unproblematisch wie möglich übernommen werden kann. Wann dieser dann allerdings übernommen wird habe ich oder letztendlich auch nicht die eQ3 Entwickler zu entscheiden, sondern das Produktmanagement bei eQ3.
RaspberryMatic 3.41.11.20181126 @ TinkerS mit ~150 HomeMatic Geräten + ioBroker – GitHubPayPal

Antworten

Zurück zu „RaspberryMatic“