ISSUE: Änderbarkeit der Logikverknüpfung in der WebUI

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

Moderatoren: jmaus, Co-Administratoren

jp112sdl
Beiträge: 12116
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 849 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

Re: ISSUE: Änderbarkeit der Logikverknüpfung in der WebUI

Beitrag von jp112sdl » 19.11.2020, 13:06

Um die Kluft zur CCU3 nicht zu groß werden zu lassen, würde ich zunächst einmal nur die statischen UND / ODER - Labels gegen die Auswahlfelder austauschen.
MichaelN hat geschrieben:
19.11.2020, 10:58
Ich persönlich sehe den Nutzen auch eher in einer Korrektur, wenn man versehentlich "und" statt "oder" ausgewählt hat.
Das halte ich auch schon mal für einen großen Fortschritt, nicht mehr die ganze Bedingung entfernen zu müssen, wenn man im Nachhinein feststellt, man hat sich bei der UND/ODER-Auswahl vertan.
jmaus hat geschrieben:
19.11.2020, 12:23
SPS als "das" Paradebeispiel vorzubringen scheint mir wirklich nicht angebracht.
Ich kenne keinerlei Maschinen-Logik-Engines, weil ich damit nie zu tun hatte, habe daher keinen Vergleich zur WebUI-Logik und vermisse daher auch nichts.

Ich kann aber verstehen, wenn jemand 40 Jahre SPS gemacht hat, dass er sich damit identifiziert, im Schlaf jede erdenkliche Aufgabenstellung umsetzen kann und diese Art der Programmierung nun auch gern im Homematic Umfeld hätte.

Vielleicht gibt es ja einen SPS2HM-Adapter für ioBroker? :D

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Benutzeravatar
jmaus
Beiträge: 9865
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 464 Mal
Danksagung erhalten: 1883 Mal
Kontaktdaten:

Re: ISSUE: Änderbarkeit der Logikverknüpfung in der WebUI

Beitrag von jmaus » 19.11.2020, 13:13

jp112sdl hat geschrieben:
19.11.2020, 13:06
Um die Kluft zur CCU3 nicht zu groß werden zu lassen, würde ich zunächst einmal nur die statischen UND / ODER - Labels gegen die Auswahlfelder austauschen.
MichaelN hat geschrieben:
19.11.2020, 10:58
Ich persönlich sehe den Nutzen auch eher in einer Korrektur, wenn man versehentlich "und" statt "oder" ausgewählt hat.
Das halte ich auch schon mal für einen großen Fortschritt, nicht mehr die ganze Bedingung entfernen zu müssen, wenn man im Nachhinein feststellt, man hat sich bei der UND/ODER-Auswahl vertan.
Genau so sehe ich das alles auch. Ich würde das für den Anfang so einfach wie möglich halten wollen. Trotzdem bleibt die Frage wie man damit umgeht das dann mitunter bei mehreren UND und ODER in einem Bedingungspfad es für Otto-Normal-Verbraucher unlogisch oder unklar erscheinen mag nach welchen Regeln die ReGa bzw. die WebUI dann die Bedingungen nacheinander prüft. Könnte man hier noch irgendeine Art von besserer visueller Darstellung/Abgrenzung vornehmen? Irgendeine Art von dargestellter Klammerung damit es klarer wird das wenn es eine Bedingung mit "a UND b ODER c UND d" gibt wie diese dann abgearbeitet/abgeprüft wird?
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

jp112sdl
Beiträge: 12116
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 849 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

Re: ISSUE: Änderbarkeit der Logikverknüpfung in der WebUI

Beitrag von jp112sdl » 19.11.2020, 13:29

Für mich ist das mit dem Rahmen um eine "Bedingungsgruppe" eigentlich ganz gut ersichtlich.

Alles innerhalb des Rahmens ist ein Block, der für sich ein true oder false liefert.

Vielleicht sollte man den Rahmen einfärben, um es besser zu erkennen...
Oder noch Klammern vor/hinter die Logik packen.

Hab mal beides reingekritzelt
Bildschirmfoto 2020-11-19 um 13.25.09.png

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Benutzeravatar
jmaus
Beiträge: 9865
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 464 Mal
Danksagung erhalten: 1883 Mal
Kontaktdaten:

Re: ISSUE: Änderbarkeit der Logikverknüpfung in der WebUI

Beitrag von jmaus » 19.11.2020, 13:39

jp112sdl hat geschrieben:
19.11.2020, 13:29
Für mich ist das mit dem Rahmen um eine "Bedingungsgruppe" eigentlich ganz gut ersichtlich.

Alles innerhalb des Rahmens ist ein Block, der für sich ein true oder false liefert.

Vielleicht sollte man den Rahmen einfärben, um es besser zu erkennen...
Oder noch Klammern vor/hinter die Logik packen.
Bringe ich jetzt was durcheinander?

Die Änderung wird doch dazu führen das man an jeder UND/ODER Stelle das ändern kann und dann wird eben auch das innerhalb deines roten Rahmens gezeigten Dinge das ganze etwas komplizierter. Und berechtigterweise könnte man dann sich ja auch fragen warum man überhaupt dann zwei oder mehr dieser äußeren roten Bedingungsarten haben kann wenn man dann schon innerhalb eines Rahmens doch dann beliebig UND/ODER kombinieren kann. Darum geht es mir.. Bisher war/ist es ja so das innerhalb eines Rahmens man immer nur entweder UND oder ODER haben kann aber nicht kombiniert und das für sich ergibt dann ja eben genau den Sinn das man die äußeren roten umrandenen bereiche dann noch braucht weil man eben bisher nur so UND + ODER kombinieren konnte. Wenn das aber jetzt nicht mehr so strikt ist wird das zwangsläufig Verwirrung/Verwunderung stiften und die Frage aufwerfen warum man das dann so noch überhaupt braucht.
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

MichaelN
Beiträge: 9683
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 700 Mal
Danksagung erhalten: 1627 Mal

Re: ISSUE: Änderbarkeit der Logikverknüpfung in der WebUI

Beitrag von MichaelN » 19.11.2020, 14:14

Ja, ich habe es auch so verstanden, daß strikt von oben nach unten jede Bedingung ausgewertet wird und dann eben
Aus Bedingung 1 und 2 ein neuer Wahrheitswert ermittelt wird, der dannmit Bedingung 3 verrechnet wird usw.
Mir fehlt allerdings auch die Fantasie wie man das grafisch darstellen kann, das es
A) verständlich
B) übersichtlich
Wird

Im Prinzip müsste man, sobald "und" und "oder" oder "oder" und "und" :roll: :lol: gemischt in einem Block verwendet wird einen fetten roten Warnhinweis einblenden "Achtung diese Logik gefährdet ihre geistige Gesundheit"
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Hominger
Beiträge: 131
Registriert: 06.12.2017, 22:14
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 29 Mal
Danksagung erhalten: 5 Mal

Re: ISSUE: Änderbarkeit der Logikverknüpfung in der WebUI

Beitrag von Hominger » 19.11.2020, 14:44

Ich hab da mal was gebastelt, wie ich mir die Übersichtlichkeit evtl. vorstellen könnte. Wie man das allerdings umsetzt ist eine andere Sache, nur mal so .....das müsste man eben weiter detaillieren.

Bild
RP3b+ mit HM-MOD-RPI-PCB, HM-WDS30-OT2-SM, HmIP-SLO, HmIP-MOD-OC8, 13St. HmIP-BROLL, etc.

jp112sdl
Beiträge: 12116
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 849 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

Re: ISSUE: Änderbarkeit der Logikverknüpfung in der WebUI

Beitrag von jp112sdl » 19.11.2020, 16:03

jmaus hat geschrieben:
19.11.2020, 13:39
Bisher war/ist es ja so das innerhalb eines Rahmens man immer nur entweder UND oder ODER haben kann aber nicht kombiniert
Stimmt, das hatte ich gar nicht bedacht.
Tüftelt euch mal was aus, ich versuche dann den Konsens umzusetzen.
Oder es bleibt alles wie es ist - ist ja auch nicht dramatisch.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Benutzeravatar
Black
Beiträge: 5483
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 424 Mal
Danksagung erhalten: 1074 Mal
Kontaktdaten:

Re: ISSUE: Änderbarkeit der Logikverknüpfung in der WebUI

Beitrag von Black » 19.11.2020, 18:29

der von mir ein paar Threads vorher (viewtopic.php?f=65&t=62623&start=10#p619691) beleuchtete Vorschlag hat natürlich auch den Charme, sich zumindest schon mal etwas an die EN 61131-3:2014-06 anzulehnen. Zumindest ist diese "Logik" für einen Anfänger einfacher zu verstehen wie die Rechen und LogigEngine der RegaScript Einheit.

Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

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

Re: ISSUE: Änderbarkeit der Logikverknüpfung in der WebUI

Beitrag von Xel66 » 19.11.2020, 23:35

jmaus hat geschrieben:
19.11.2020, 10:13
Deshalb sollten wir uns vor einer möglichen Integration dieser neuen Möglichkeit die Bedingungen der Programmierung im nachhinein erst einmal ausreichend darüber austauschen was das ganze ggf. für nebeneffekte haben könnte.
Ich halte das auch für gewagt, da das Verhalten auch nicht mehr der eigentlichen WebUI-Optik folgt. Es ist nicht mehr direkt ersichtlich, welche Verknüpfungen zu einem Block (gemeinsame Verknüpfung der verschiedenen Bedingungen untereinander) gehört. Und ein einzelnes eingeschobenes ODER innerhalb von UND-Verknüpfungen bildet wohl einen eigenen abgetrennten Block (der aber nicht separat dargestellt wird). Es wird also eine zusätzliche Verknüpfungsebene eingefügt. Nicht dass ich auch eine Verwendung für so eine zusätzliche kaskadierte Abfrageebene hätte, aber leider macht das die WebUI-Optik nicht mit und dürfte gerade Einsteiger massiv verwirren, da dann nicht mehr so einfach nachzuverfolgen ist, welche Bedingungen untereinander verknüpft sind.

Ich hätte grundsätzlich auch einen Vorschlag, im DANN eine zusätzliche Bedingungsebene einzufügen. Beispiel: ein Programm soll von einer bestimmten Bedingungsverknüpfung getriggert werden, aber im DANN könnte man abhängig von einer zusätzlichen Bedingung auf unterschiedliche Befehle verzweigen. Derzeit muss man ein identisches SONST WENN mit eben der anderen Zusatzbedingung(en) erstellen und hat dann zwei DANN. Aber dieses lässt sich auch nicht so einfach in die bestehende Optik der WebUI integrieren. Die etwas antiquierte WebUI limitiert hier etwas die Möglichkeiten.

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

Benutzeravatar
Black
Beiträge: 5483
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 424 Mal
Danksagung erhalten: 1074 Mal
Kontaktdaten:

Re: ISSUE: Änderbarkeit der Logikverknüpfung in der WebUI

Beitrag von Black » 20.11.2020, 09:31

Das stimmt so aber nicht ganz...
Ein Oder in den SingleConditions Eingefügt bedeutet:
Das Verknüpfungsergebnis der vorherigen Bedingungen wird mit der Auswertung der bedingung der mit Oder Bezeichneteten Single Condition verodert und bildet das neue Verknüpfungsergebnis

in dem Beispiel
LK1.JPG
LK1.JPG (16.95 KiB) 846 mal betrachtet

entspricht in der Logig
LK2.JPG
LK2.JPG (21.13 KiB) 846 mal betrachtet
--------------------------

die Tyische WebUi datstellung

in der ersten Condition die beiden Bedigungen verundet
in der zweoctenh kondition 2 Bedingungen Verundet
und die Beiden Condition mit einem Oder

sähe logisch so aus
LK3.JPG
LK3.JPG (21.37 KiB) 846 mal betrachtet
und geschrieben so

U TP1
U TP2
O
U TP3
U TP4

ist also logisch etwas ganz anderes und davon unabhängig. Die Conditions sind quasi die umfassenden Klammerebenen.

--------------------------------------------------------------------------------------

Wozu man das von mir vorgestellte Issue praktisch einsetzen kann.

du hast 2 eingangswerte , die verodert dein schaltorgan schalten soll... so weit so gut. nun hast du aber noch eine virtuelle Handebene mit der Funktionalität Hand Ein , Aus , Automatik. Als Werteliste ein einer Sysvar abgelegt.
Nun Soll bei Hand Ein immer geschaltet werden, egal was die Eingänge machen
bei Aus bliebt das gerät immer Aus, Egal was ansteht und bei Automatik werden die beiden Eingäne berücksichtigt.

mit der Neuen Schreibweise

Code: Alles auswählen

ODER (Bedingung1 = wahr)
ODER (Bedingung2 = wahr)
UND (Modus = AUTOMATIK)
ODER (Modus= HAND)
passt schön in eine Bedingung

Nun hätte das ganze noch einen schutz, der egal ob Hand oder Automatik immer wahr sein muss, damit das Schaltorgang Schaltet (Übertemperatur, überstromschutz, irgendwie sowas aus der Richtung)

Code: Alles auswählen

ODER (Bedingung1 = wahr)
ODER (Bedingung2 = wahr)
UND (Modus = AUTOMATIK)
ODER (Modus= HAND)
UND (Einschaltbedingung= wahr)
das wird schon etwas interessanter, die in der jetzigen WebUI Umzusetzen (klar geht, aber das enn ich dann nicht grad übersichtlich) Vor allem brauchst du dnan mehrere Conditions, damit hast du dann Schwierigkeiten, wenn weiterer Bedingungen hinzukommen

Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Antworten

Zurück zu „RaspberryMatic“