UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

[Gelöst] [V4.0 IP3] SendExplicit mit Mapping zu Ganzzahl

Informationen und Diskussionen über Logik-Engine und Logik-Editor
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

Ersteller
Sunshinemaker
Reactions:
Beiträge: 217
Registriert: So Mai 22, 2022 11:45 am
Hat sich bedankt: 104 Mal
Danksagung erhalten: 129 Mal

[V4.0 IP3] SendExplicit mit Mapping zu Ganzzahl

#1

Beitrag von Sunshinemaker »

Moin zusammen,

Ich sachon wieder :?

Die Costumlogik als solche funktioniernt. Allerdings würde ich gerne bei True=90 und False=20 senden. Aber leider gibt es diese Option nicht mehr wenn ich SendExclicit verwede. Nun Könnte ich natürlich eine neuen Logit erstellen um das ganze zu Mappen. Aber das ist macht das ganze wieder unübersichtlich weil eine Funktion über mehrere Logiken verteilt ist, was ich gerne vermeiden würde.

Oder gibt es keine andere Option außer über eine zweite Logik?

Code: Alles auswählen

{
  "_Meta": { // Optional
    "Description": "",
    "Version": "1.00",
    "Icon": "" // format: "data:image/svg+xml;base64,ENCODED_FILE"
  },
  "Input": [
      ["Tag/Nacht","Eingang1","$In1","a"],
      ["Inhibit","INHIBIT","$Inhibit","u"]
  ],

  "Output": [
      ["Rolladen","Augang","$Out1","x"]
  ],
  
  "Level": [
      ["$In1","bool",false],
      ["$Inhibit","bool",false],
      ["$Out1","bool",false]
  ],
  
  "Module": [
      ["Break",["$Inhibit"]],
      ["And",["$In1"],"$Out1"],
      ["SendExplicit","$In1","$Out1",2]
  ]
}
Bild
Zuletzt geändert von Parsley am So Mär 12, 2023 12:37 pm, insgesamt 2-mal geändert.
LG Sören

TWS 3500 XL / ID 846 / VPN:offen / Reboot nach Rücksprache
Benutzeravatar

Parsley
Reactions:
Beiträge: 525
Registriert: Di Okt 09, 2018 7:27 am
Wohnort: 490..
Hat sich bedankt: 587 Mal
Danksagung erhalten: 351 Mal

#2

Beitrag von Parsley »

Moin Sören
Sunshinemaker hat geschrieben: So Mär 12, 2023 10:57 am Ich sachon wieder :?
Das Forum ist doch genau für solche Fragen da. Es ist also gar kein Problem, dass du „schon wieder“ eine Frage stellst! ;)


Warum „eine zweite“ Logik? Sinn und Zweck einer Custom Logik ist ja, dass du in einem Logikbaustein mehrere Module verwenden kannst. Also in deine bestehende Custom Logik das Modul SendExplicit (oder was dir sonst gerade fehlt) hinzuzufügen. Dann hast du im Logik Manager nur eine Custom Logik, die alles enthält. :think:
Zuletzt geändert von Parsley am So Mär 12, 2023 12:38 pm, insgesamt 1-mal geändert.
Gruß Parsley


Timberwolf Server 3500L #657 (VPN offen, reboot nach Absprache)

maggyver
Reactions:
Beiträge: 364
Registriert: So Okt 14, 2018 1:48 pm
Hat sich bedankt: 228 Mal
Danksagung erhalten: 274 Mal

#3

Beitrag von maggyver »

Hallo Sören,

schau doch mal im Wiki vorbei ...
Grüße
René
_______________________________________________________________________________

TWS 2600LW ID:504 + PBM ID:892 + PBM ID:910 , VPN offen , Reboot erlaubt, Offline, Insider
TWS 950QL ID:379 , VPN offen, Reboot erlaubt, Offline, Insider

Ersteller
Sunshinemaker
Reactions:
Beiträge: 217
Registriert: So Mai 22, 2022 11:45 am
Hat sich bedankt: 104 Mal
Danksagung erhalten: 129 Mal

#4

Beitrag von Sunshinemaker »

Hi,

Danke Parsley :) Aber irgendwann kommt man sich irgendwie nervig vor wenn man ständig solche frage hat. ABer ich weiß halt auch Code in jeglicher form ist nicht unbedinbgt meine Stärke....Komplexe Schlatungen im Schaltschrank kann ich dir dafür meusten ohne plan bauen, aber Codezeilen.... :o :confusion-helpsos:

Danke René für den Link. Ich weiß nur garde nicht ob du mir damit nur den weg zur Wiki zeigen wolltest, das kenne ich bereits. Oder etwas Spezielles, dann seh ich nicht was du meinst. Codezeilen und Ich werden keine freunde mehr....das ist ja mein Problem.

Das Problem sitzt 30cm vor dem Bildschirm :confusion-helpsign:
LG Sören

TWS 3500 XL / ID 846 / VPN:offen / Reboot nach Rücksprache

StefanW
Elaborated Networks
Reactions:
Beiträge: 9689
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4831 Mal
Danksagung erhalten: 7633 Mal
Kontaktdaten:

#5

Beitrag von StefanW »

Hi Sören,

die Definition von Custom-Logiken ist KEIN CODE. Das ist keine Programmiersprache.

Es handelt sich lediglich um eine Verbindungsliste, also das, was Du im Schaltschrank schon kannst. Nimm einfach ein Blatt Papier, male Dir zwei Logikelemente darauf, die du in einer Custom Logik benutzen willst und dann schreibst die beiden Logikelemente und die Verbindungen dazwischen als json File runter in dem angegebenen Format.

Es ist viel einfacher als man denkt.

lg

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.
Benutzeravatar

Parsley
Reactions:
Beiträge: 525
Registriert: Di Okt 09, 2018 7:27 am
Wohnort: 490..
Hat sich bedankt: 587 Mal
Danksagung erhalten: 351 Mal

#6

Beitrag von Parsley »

Hi Sören

Ich kann dich verstehen, jedoch ist dies ein betont freundliches Forum und jeder soll seine Fragen ohne Scheu stellen können, sofern sie technischer Natur sind und irgendwie in dieses Forum passen.
Jeder fängt mal ganz vorne an und wenn du dich traust so „einfache“ Fragen zu stellen, dann wird hoffentlich auch bei anderen die Hemmschwelle kleiner.

Edit: Rest entfernt. Stefan war schneller. ;)
Zuletzt geändert von Parsley am So Mär 12, 2023 3:14 pm, insgesamt 1-mal geändert.
Gruß Parsley


Timberwolf Server 3500L #657 (VPN offen, reboot nach Absprache)

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#7

Beitrag von Robert_Mini »

Hallo Sören!

Freu mich über solch Fragen, denn diese sind (zusammen mit den Antworten) auch für andere Mitleser und Einsteiger hilfreich.
Der Link ins Wiki zeigt schon an die richtige Stelle.

Du kannst mit einem Multiplexer einfach eine Wertzuweisung abhängig vom Eingangswert $In machen. Das AND entfällt, damit hast du ja nur das Ergebnis von Ein- auf Ausgang geschrieben. Der Multiplexer wählt aus mehreren Eingängen einen Wert für den Ausgang aus. In diesem Fall mit 2 (da dein Eingang bool ist), könnte aber auch eine Liste aus 5 Werte sein und der Selektor dann ein Integer.

Heißt:

Code: Alles auswählen

	["Break",["$Inhibit"]],
	// NEU
	//["And",["$In1"],"$Out1"],   // nicht erforderlich
	["Multiplexer",["$Const20", "$Const80"],"$Out1","$In1“],
	//
	["SendExplicit","$In1","$Out1",2]
$Const20 und $Const80 musst im Level definieren. Du kannst diese auch auf einen Eingang legen (eventuell mit Triggeroption "u"), dann kannst du diese Werte auch zb über die Visu veränderbar machen.

Also weiter her mit deinen Fragen!

lg
Robert
Zuletzt geändert von Robert_Mini am So Mär 12, 2023 3:33 pm, insgesamt 1-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
Sunshinemaker
Reactions:
Beiträge: 217
Registriert: So Mai 22, 2022 11:45 am
Hat sich bedankt: 104 Mal
Danksagung erhalten: 129 Mal

#8

Beitrag von Sunshinemaker »

Hallo Zusammen :)

Ganz großes Danke :text-thankyouyellow: an euch drei für die Netten worte :)

@StefanW Auch wenn es per Definition kein Code ist, sind es für für mich doch oft nur Bömische Dörfer :scared-eek: Aber es wird ja langsam besser. Und wenn man etwas gut kann ist es immer einfach :laughing-rolling:

@Parsley Wer nicht fragt bleibt dumm und es gibt deine Dummen fragen :) Und ich freu mich über Freundliche Worte und den zuspruch weiter so eine fagen stellen zu können und dürfen :)

@Robert_Mini :bow-yellow: :bow-yellow: :bow-yellow: Danke für die netten Worte und Natürlich auch für den Web und die erklärung. Ich werd das jetzt gleich mal testen gehen und hoffen das ich es einermaßen schnell hin bekomme :text-tmi: Und keine Sorgen, es werden noch mehr solche fragen Kommen :whistle:

Danke an alle netten User dieses Forum's und Danke für das Tolle Foum. Wollte ich mal so gesagt haben :)
LG Sören

TWS 3500 XL / ID 846 / VPN:offen / Reboot nach Rücksprache

Ersteller
Sunshinemaker
Reactions:
Beiträge: 217
Registriert: So Mai 22, 2022 11:45 am
Hat sich bedankt: 104 Mal
Danksagung erhalten: 129 Mal

#9

Beitrag von Sunshinemaker »

Ich schon wieder :mrgreen:

Ich verste das ganze grade noch nicht so richitg. Die Idee mit dem Visualisieren finde ich Spitze auch wenn es grade noch ganz weit weg ist bis das damit mal anfagen kann, also der Visu, aber vorbereitet sein ist schon mal gut :handgestures-thumbupright:

Wenn ich den Teil in der Wiki richitg versthe kann ich über den Selector auswählen welchen Eingang ich an den ausgang weitergeben will, brauch dazu aber am Selector ein Integer, hab ich aber ja nicht.

Und bei dem Teil in der Wiki verstehe ich auch das ich einen Integerwert am Eingang brauche.

Deswegen steh ich, und stand auch vorhin auf dem Schlauch.

Aktuell sieht es bei mir so aus:

Code: Alles auswählen

{
  "_Meta": { // Optional
    "Description": "",
    "Version": "1.00",
    "Icon": "" // format: "data:image/svg+xml;base64,ENCODED_FILE"
  },
  "Input": [
      ["Tag/Nacht","Eingang1","$In1","a"],
      ["Inhibit","INHIBIT","$Inhibit","u"],
      ["Min","Min","$Min","u"],
      ["Max","Max","$Max","u"]
  ],

  "Output": [
      ["Rolladen","Augang","$Out1","x"]
  ],
  
  "Level": [
      ["$In1","bool",false],
      ["$Inhibit","bool",false],
      ["$Min","integer",1],
      ["$Max","integer",80],
      ["$Out1","bool",false]
  ],
  
  "Module": [
      ["Break",["$Inhibit"]],
      ["Multiplexer",["$Min","$Max"],"$Out1","$In1"],
      ["SendExplicit","$In1","$Out1",2]
  ]
}
Bild

Vielleicht hab ich es vorhin auch doof erklärt und zusätlich hatte ich einen denkfehler in der Sache, Sorry dafür.
Deswegen nochmal:
Wenn der eingang $In1 von True auf False wechselt soll an $Out1 der Wert von einem Eingang $InX gesendet werden.
Zuletzt geändert von Sunshinemaker am So Mär 12, 2023 7:00 pm, insgesamt 1-mal geändert.
LG Sören

TWS 3500 XL / ID 846 / VPN:offen / Reboot nach Rücksprache

maggyver
Reactions:
Beiträge: 364
Registriert: So Okt 14, 2018 1:48 pm
Hat sich bedankt: 228 Mal
Danksagung erhalten: 274 Mal

#10

Beitrag von maggyver »

Hallo Sören,

brauchst du eine Tor-Logik?

Ein Tor ist ein logisches Gatter mit dem du durch einen Freigabeeingang, den eigentlichen Eingang auf einen Ausgang weiterleiten möchtest oder nicht.

Am besten du beschreibst mal was du genau vorhast.
Grüße
René
_______________________________________________________________________________

TWS 2600LW ID:504 + PBM ID:892 + PBM ID:910 , VPN offen , Reboot erlaubt, Offline, Insider
TWS 950QL ID:379 , VPN offen, Reboot erlaubt, Offline, Insider
Antworten

Zurück zu „Logikengine & Logik-Editor“