Hallo Georg,
danke für deinen Versuch, aber:
Ich möchte an dieser Stelle wirklich etwas lernen. Ich möchte verstehen in welcher Art man denken muss, um mit dieser Art von "Programmiersprache" zu denken. Beruflich habe ich halt fast ausschließlich mit C zu tun und da denke ich halt ganz anders.
Bei diesem Lernprozess ist es für mich extrem hilfreich mir gezielt Teile von den Logik Profis unter den freundlichen Menschen hier im Forum erklären zu lassen.
Ich weiss, dass dir persönlich die KI unter anderem dabei hilft Texte zu schreiben, weil es dir schwer fällt dich in Schriftform auszudrücken. Das ist völlig in Ordnung und ich finde es gut, dass du hier ein Hilfsmittel für dich gefunden hast.
Der zweite Teil bei dem du dir von der KI helfen lässt ist der Teil, um den es mir hier gerade geht:
Meine eigene persönliche Schwäche ist es Texte zu lesen. Je länger die Texte desto schlimmer. Je mehr Buzzword-Bingo-Hohlphrasen-KI-Geblubber-Marketing-Bullshit-Blabla, desto schlimmer. Komplexität lässt sich manchmal nicht vermeiden, wenn sie in der Natur der Sache liegt. Aber alles unnötige Drumrum ist für mich eine zusätzliche Belastung. Ich muss dadurch noch mehr lesen und noch länger meine Aufmerksamkeit behalten. Wenn man dann auch noch mehrere Anläufe unternehmen muss, weil die KI eben nicht selbstständig denkt und die menschlichen Unzulänglichkeiten in der Aufgabenstellung eben nicht intelligent bemerkt und intuitiv richtig behandelt, dann muss ich noch mehr lesen und schreiben, weil ich mit dieser pseudo Intelligenz diskutieren muss.
Nimm es mir bitte nicht übel! Die KI hat ihre Berechtigung und es kann auch sein, dass ich ab einem bestimmten Punkt irgendwann auch auf KI für die TWS Logiken zurückgreifen werde. Aber bevor ich das tue habe ich den Anspruch die TWS Logiken lesen, nachvollziehen und so weit verstehen zu können, dass ich mindestens so rudimentäre Logiken wie diese hier zukünftig ohne Hilfe erstellen kann. Bis dahin gehe ich der KI aus dem Weg.
Trotz dessen, was ich oben geschrieben habe habe ich den Text deiner KI angesehen. Leider sehe ich mich dadurch aber in meiner obigen Aussage bestätigt: Die KI hat mich nicht verstanden und ich habe auch ohne den KI Output vollständig gelesen zu haben mehrere Details entdeckt wegen derer ich in eine Diskussion mit der KI einsteigen müsste. q.e.d.
Also lieber Georg, danke für den Versuch und nimm es mir bitte nicht übel, dass ich hier gerne ohne KI weiter machen möchte.
Wenn ich dabei weiterhin Hilfe von den echten Logik Profis bekommen kann freue ich mich riesig. Wenn nicht werde ich versuchen wie weit ich alleine komme.
[Frage] [V4.8 IP7] Custom Logik: Ein-/Auschaltverzögerung mit Mindestein-/ausschaltdauer
Forumsregeln
- Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
- Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
- Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
- Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
-
Parsley
- Beiträge: 768
- Registriert: Di Okt 09, 2018 7:27 am
- Wohnort: 4908.
- Hat sich bedankt: 930 Mal
- Danksagung erhalten: 478 Mal
Gruß Parsley
3500L #657 (VPN offen, reboot nach Absprache)
3500XL #1705 (VPN offen, reboot ok)
EFH Bj.2016: KNX, DALI, 1-Wire, Modbus TCP, KWL, PV, MQTT, BSB-LAN, 2x AI on the Edge Device, Tasmota, ESPHome, VLANs, VPN, NAS
Bitte WIKI lesen.
3500L #657 (VPN offen, reboot nach Absprache)
3500XL #1705 (VPN offen, reboot ok)
EFH Bj.2016: KNX, DALI, 1-Wire, Modbus TCP, KWL, PV, MQTT, BSB-LAN, 2x AI on the Edge Device, Tasmota, ESPHome, VLANs, VPN, NAS
Bitte WIKI lesen.
-
eib-eg
- Beiträge: 998
- Registriert: Fr Sep 14, 2018 5:03 pm
- Hat sich bedankt: 1759 Mal
- Danksagung erhalten: 712 Mal
Es gäbe die Möglichkeit wenn du Fragen stellst wiso weshalb warum der eine oder andere Punkt in der Logik sein soll oder muss, es dier erklären zu lassen
Wenn es dein Wunsch währe dann schreibe bitte was du nicht verstehst und ich werde versuchen leider durch die ki für dich erklären zu lassen, der Grund warum von meiner Seite durch die ki erklären lassen ist Gans einfach
Weil ich es auch nicht verstehe und nie verstehen werde in meinem Alter
Ich bin ein Praktiker und kein Programmierer
mfg
eib-eg Georg
Wenn es dein Wunsch währe dann schreibe bitte was du nicht verstehst und ich werde versuchen leider durch die ki für dich erklären zu lassen, der Grund warum von meiner Seite durch die ki erklären lassen ist Gans einfach
Weil ich es auch nicht verstehe und nie verstehen werde in meinem Alter
Ich bin ein Praktiker und kein Programmierer
mfg
eib-eg Georg
TW 2600_99 seit 1.1.2018 / VPN zu
-
eib-eg
- Beiträge: 998
- Registriert: Fr Sep 14, 2018 5:03 pm
- Hat sich bedankt: 1759 Mal
- Danksagung erhalten: 712 Mal
Hier ist die technische Analyse der Logik-Struktur, übersetzt in die Denkweise der C-Programmierung.
1. Grundkonzept: Event-basierte Ausführung
Eine Timberwolf-Logik verhält sich wie eine Funktion, die bei jedem Interrupt (Eingangsänderung) aufgerufen wird. Alle Variablen im `Level`-Block sind `static` – sie behalten ihren Wert zwischen den Aufrufen.
2. Vergleich der Bausteine (TWS vs. C)
3. Der Algorithmus für Verzögerung, Mindestlaufzeit und Extern-Sync
Die Logik lässt sich in vier sequentielle Schritte unterteilen:
Schritt 1: Timer-Aktualisierung (Monoflops)
Die Monoflops verarbeiten die Flanken der Eingänge.
* `DelayOn`: Läuft, wenn `Soll == 1` angefordert wurde, aber die Einschaltverzögerung noch aktiv ist.
* `MinOn`: Läuft, wenn der Aktor gerade eingeschaltet wurde und für Zeit X nicht ausgeschaltet werden darf.
Schritt 2: Ermittlung der Wunsch-Zustände
Hier werden die "Guards" (Schutzbedingungen) geprüft.
```c
// Einschalten, wenn Soll EIN ist UND keine Einschaltverzögerung ODER Mindest-AUS-Zeit läuft.
bool want_on = (I_Switch == true) && !DelayOn_Active && !MinOff_Active;
// Ausschalten, wenn Soll AUS ist UND keine Ausschaltverzögerung ODER Mindest-EIN-Zeit läuft.
bool want_off = (I_Switch == false) && !DelayOff_Active && !MinOn_Active;
```
Schritt 3: Extern-Synchronisation (Der entscheidende Punkt)
Wenn der Aktor manuell (außerhalb der Logik) geschaltet wird, muss der interne Status nachgeführt werden, damit die nächste Flankenerkennung korrekt funktioniert. Dies darf jedoch nur geschehen, wenn keine Schutzzeit (`MinOn`/`MinOff`) aktiv ist.
```c
if (!MinOn_Active && !MinOff_Active) {
if (O_Switch != I_State) { // Xor-Baustein
O_Switch = I_State; // Latch-Baustein
}
}
```
Schritt 4: Zustands-Speicherung (RS-Flip-Flop)
Da die Logik eventbasiert ist, muss der Zustand gehalten werden, wenn keine der obigen Bedingungen (`want_on` / `want_off`) eine Änderung erzwingt.
```c
if (want_on) O_Switch = true;
else if (want_off) O_Switch = false;
// else: behalte O_Switch bei (static behavior)
```
4. Zusammenfassung der Monoflop-Modi (Trigger-Verhalten)
Für diese Logik sind zwei Modi entscheidend:
* **Mode 2 (Steigende Flanke):** Entspricht einem Trigger auf `if (input == true && last_input == false)`.
* **Mode 4 (Fallende Flanke):** Entspricht einem Trigger auf `if (input == false && last_input == true)`.
Durch die Nutzung von `-$Variable` (Invertierung) am Reset-Eingang des Monoflops wird der Timer sofort abgebrochen, wenn der entgegengesetzte Befehl eintrifft (entspricht `timer_stop()`).
____________________________________________________
ende ki text
ich verstehe es nicht
du als c programirer müsstest es verstehen
ich habe den kanon geschrieben das er die blumige sprache weglassen soll und so erklären sowie vergleiche machen sollte das es ein c programierer versteht
mfg
eib-eg Georg
1. Grundkonzept: Event-basierte Ausführung
Eine Timberwolf-Logik verhält sich wie eine Funktion, die bei jedem Interrupt (Eingangsänderung) aufgerufen wird. Alle Variablen im `Level`-Block sind `static` – sie behalten ihren Wert zwischen den Aufrufen.
2. Vergleich der Bausteine (TWS vs. C)
| TWS Baustein | C-Äquivalent | Funktion |
|---|---|---|
| **Monoflop** | `timer_start()` / `is_timer_running()` | Zeitgesteuerte Zustandsüberwachung. |
| **Latch** | `variable = value;` | Bedingte Zuweisung eines Wertes. |
| **Xor** | `if (A != B)` | Erkennt Ungleichheit (Differenz zwischen Soll und Ist). |
| **Multiplexer** | `switch(case)` / `array[index]` | Auswahl eines Wertes basierend auf einem Index. |
Die Logik lässt sich in vier sequentielle Schritte unterteilen:
Schritt 1: Timer-Aktualisierung (Monoflops)
Die Monoflops verarbeiten die Flanken der Eingänge.
* `DelayOn`: Läuft, wenn `Soll == 1` angefordert wurde, aber die Einschaltverzögerung noch aktiv ist.
* `MinOn`: Läuft, wenn der Aktor gerade eingeschaltet wurde und für Zeit X nicht ausgeschaltet werden darf.
Schritt 2: Ermittlung der Wunsch-Zustände
Hier werden die "Guards" (Schutzbedingungen) geprüft.
```c
// Einschalten, wenn Soll EIN ist UND keine Einschaltverzögerung ODER Mindest-AUS-Zeit läuft.
bool want_on = (I_Switch == true) && !DelayOn_Active && !MinOff_Active;
// Ausschalten, wenn Soll AUS ist UND keine Ausschaltverzögerung ODER Mindest-EIN-Zeit läuft.
bool want_off = (I_Switch == false) && !DelayOff_Active && !MinOn_Active;
```
Schritt 3: Extern-Synchronisation (Der entscheidende Punkt)
Wenn der Aktor manuell (außerhalb der Logik) geschaltet wird, muss der interne Status nachgeführt werden, damit die nächste Flankenerkennung korrekt funktioniert. Dies darf jedoch nur geschehen, wenn keine Schutzzeit (`MinOn`/`MinOff`) aktiv ist.
```c
if (!MinOn_Active && !MinOff_Active) {
if (O_Switch != I_State) { // Xor-Baustein
O_Switch = I_State; // Latch-Baustein
}
}
```
Schritt 4: Zustands-Speicherung (RS-Flip-Flop)
Da die Logik eventbasiert ist, muss der Zustand gehalten werden, wenn keine der obigen Bedingungen (`want_on` / `want_off`) eine Änderung erzwingt.
```c
if (want_on) O_Switch = true;
else if (want_off) O_Switch = false;
// else: behalte O_Switch bei (static behavior)
```
4. Zusammenfassung der Monoflop-Modi (Trigger-Verhalten)
Für diese Logik sind zwei Modi entscheidend:
* **Mode 2 (Steigende Flanke):** Entspricht einem Trigger auf `if (input == true && last_input == false)`.
* **Mode 4 (Fallende Flanke):** Entspricht einem Trigger auf `if (input == false && last_input == true)`.
Durch die Nutzung von `-$Variable` (Invertierung) am Reset-Eingang des Monoflops wird der Timer sofort abgebrochen, wenn der entgegengesetzte Befehl eintrifft (entspricht `timer_stop()`).
____________________________________________________
ende ki text
ich verstehe es nicht
du als c programirer müsstest es verstehen
ich habe den kanon geschrieben das er die blumige sprache weglassen soll und so erklären sowie vergleiche machen sollte das es ein c programierer versteht
mfg
eib-eg Georg
TW 2600_99 seit 1.1.2018 / VPN zu
-
Parsley
- Beiträge: 768
- Registriert: Di Okt 09, 2018 7:27 am
- Wohnort: 4908.
- Hat sich bedankt: 930 Mal
- Danksagung erhalten: 478 Mal
Hallo Georg,
gleich vorneweg: Respekt und danke, dass du dir hier die Mühe gemacht hast diese Antwort ohne KI zu schreiben! Danke!
Danke, auch, dass du dir die Zeit nimmst und alles versuchst, um mir zu helfen. In vielen anderen Fällen würde ich das auch sehr gerne annehmen oder dich sogar danach fragen oder darum bitten.
Hier ist es jetzt aber leider anders und ich muss jetzt erst einmal mühsam überlegen, wie ich es so erklären kann, dass es verständlich ist und trotzdem zum Ziel kommt.
Die KI ist ein Hammer und deine trainierte KI (Kanon) hat aus einem primitiven 800g-KI-Hammer einen Multifunktionshammer gemacht, der dank deines Trainings alle möglichen Anwendungen eines Hammers abdeckt. Vom 10kg-Vorschlaghammer im Tunnelbau bis zum mini 10g-Hämmerchen mit der ein Kunstschmied Kupfer treibt. Aber es ist und bleibt ein "dummer" Hammer. Und leider wird nicht jedes Problem zu einem Nagel, nur weil ein Hammer das einzige Werkzeug ist, was ich habe. (So eine Schei..., jetzt klinge ich schon wie eine KI, weil ich versuche etwas zu erklären und nicht weiss wie.)
Bitte verstehe: Das Verhältnis zwischen Textmenge und Nutzen kann eine KI für mich hier nicht leisten. Dieser Thread droht jetzt wie viele andere völlig zu einer KI-Diskussion zu entgleisen. Ich möchte hier gerne an einem kleinen Arbeitstisch für 2-3 Personen in einer ruhigen Uni-Bibliothek sitzen, wo mehr gelesen als geredet wird. Diese Vulkanausbrüche von KI-Asche geben mir leider mehr das Gefühl an einem Tisch eines Straßen-Café in Pompei zu sitzen. Es verdirbt die Luft und vertreibt die Menschen.
Wäre es möglich die KI-Dynamit-Ladung ausschließlich auf Anfrage und nur im Steinbruch zu zünden wo es hingehört und tatsächlich gut und holfreich ist? Nicht in der Fußgängerzone und schon gar nicht in der Bibliothek?
Ja, ich habe auch den nächsten KI Beitrag von dir gelesen. Auch darauf die Antwort: Auch in dem Beitrag hat die KI mir nicht geholfen, aber weiteren Text produziert, der mich belastet und diesen Thread unausstehlich lang macht. (Und ich möchte mich jetzt gerade auch selbst dafür ohrfeigen, dass ich hier inzwischen bald eine Stunde an zu viel Text schreibe, um freundlich zu einem Ergebnis zu kommen, dass ich auf unfreundliche Weise vielleicht auch mit nur maximal 3 Worten erreichen könnte.)
Also bitte:
- Keine KI
- Keine KI-Grundsatzdiskussion und
- keinen weiteren Beitrag, der länger als ein Smartphone Display ist.
Bitte bitte bitte!
(PS: Darf ich die ganzen letzten Beiträge bitte löschen oder abschneiden und verschieben und wir merken uns, dass ich hier keine KI möchte?
Gruß Parsley
3500L #657 (VPN offen, reboot nach Absprache)
3500XL #1705 (VPN offen, reboot ok)
EFH Bj.2016: KNX, DALI, 1-Wire, Modbus TCP, KWL, PV, MQTT, BSB-LAN, 2x AI on the Edge Device, Tasmota, ESPHome, VLANs, VPN, NAS
Bitte WIKI lesen.
3500L #657 (VPN offen, reboot nach Absprache)
3500XL #1705 (VPN offen, reboot ok)
EFH Bj.2016: KNX, DALI, 1-Wire, Modbus TCP, KWL, PV, MQTT, BSB-LAN, 2x AI on the Edge Device, Tasmota, ESPHome, VLANs, VPN, NAS
Bitte WIKI lesen.
-
eib-eg
- Beiträge: 998
- Registriert: Fr Sep 14, 2018 5:03 pm
- Hat sich bedankt: 1759 Mal
- Danksagung erhalten: 712 Mal
Lösche meine Beiträge und ich werde in diesen Bereich nicht mehr antworten außer ich bekomme von dir die Aufforderung
Lösche so viel du willst von mir
Du hast die Erlaubnis von mir
Lösche so viel du willst von mir
Du hast die Erlaubnis von mir
TW 2600_99 seit 1.1.2018 / VPN zu