Codeeingabe per Mediola in HM

Haussteuerung mittels mediola

Moderator: Co-Administratoren

schneidy76
Beiträge: 340
Registriert: 18.11.2016, 22:36
Wohnort: ziemlich weit unten
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Codeeingabe per Mediola in HM

Beitrag von schneidy76 » 08.02.2018, 18:03

Ich würde gerne über das Wandtablet eine Art Codeschloss mittels Nummernblock realisieren.
Die Auswertung soll dann in der CCU stattfinden.
Hat wer von Euch sowas schon gemacht, oder eine Idee wie ich sowas starten kann?

VG Torsten
Raspberry Matic RP3, iobroker & Node-Red auf orangePi
HM Lan GW
--- HM-RF, HmIP-RF und knx Komponenten ---
Visualisierung auf Android 10" Tablett

Benutzeravatar
Jimbaem
Beiträge: 91
Registriert: 19.12.2014, 19:03
Wohnort: Schuttertal
Hat sich bedankt: 3 Mal
Danksagung erhalten: 3 Mal

Re: Codeeingabe per Mediola in HM

Beitrag von Jimbaem » 10.02.2018, 08:23

Hallo schneidy76,

dann sollte dass hier vielleicht genau das richtige für dein Vorhaben sein:

viewtopic.php?f=18&t=31049

Gruß
Jimbaem
RaspberryMatic 3.63.9.20220521 auf Asus Tinker Board S - Raspberry Pi4 & SSD mit Historian V3.0.2

33zdenko
Beiträge: 343
Registriert: 21.12.2013, 16:50
Danksagung erhalten: 4 Mal

Re: Codeeingabe per Mediola in HM

Beitrag von 33zdenko » 11.02.2018, 10:34

Die Lösung oben ist gut, möchte man aber noch bei der Eingabe, die Zahlen sehen (Display) und Information haben, ob der Code richtig oder falsch ist, kann man es so machen:
1. Variablen erstellen, eine - Typ Logik, eine vom Typ Zahl, und eine als Zeichenkette
– logische variable mit dem Namen 'code_auslöser', nach Eingabe der richtigen Code oder falschen,
als Auslöser für ein Programm auf der ccu und z.b. zum Wechseln der Seite auf der Fernbedienung.
- eine Variable vom Typ Zahl um die Eingabe der Zahlen über das Codepad, Name 'code_zahl', bei anlegen den Minimalwert auf 0, Maximalwert 10.
- eine Variable Typ Zeichenkette um die Eingabe zu visualisieren, Name 'code_anzeige'.

Im Neo die Variablen zuerst importieren von der ccu, dann ein codepad anlegen:
Bildschirmfoto 2018-02-11 um 09.47.02.png
Bildschirmfoto 2018-02-11 um 09.47.02.png (22.58 KiB) 3545 mal betrachtet
über dem codepad einen Textfeld erstellen, Status zuweisen für Variable 'code_anzeige'

Den Codezahlen von 0-9 eine Aktion zuweisen, 'code_zahl' und dann den Wert, 0-9.
Die Sterntaste wird nicht benötigt, also keine Aktion, Raute bekommt den Wert 10, diese benutzen wir falls wir die Eingabe korrigieren möchten.

Falls gewünscht, nach Eingabe von richtigen Code das die Seite gewechselt wird oder sofort etwas zu schalten, folgendes machen:
auf leere Stelle der Fernbedienung klicken und dann auf Status klicken, dort die Variable 'code_ausloeser' wählen, dann auf Aktion zuweisen, und gewünschte Aktion erstellen.
Bildschirmfoto 2018-02-11 um 09.58.55.png
Jetzt das erste Programm auf der ccu erstellen, Name bei mir 'codeschloss'
Bildschirmfoto 2018-02-11 um 10.02.00.png
im dann Teil, dieses Script erstellen:

Code: Alles auswählen

var x = dom.GetObject('code_zahl').State();
var c = x.ToString(0);

if (x > 9) {dom.GetObject('code_anzeige').State("");} 
else {
y = dom.GetObject('code_anzeige').State();

!p ist die gewünschte zeichenlänge vom code
var p = y.Length();

var z = y + c;
dom.GetObject('code_anzeige').State(z);

!p == 3 -  codelänge von 4 zahlen, 3214 ist mein richtiger code, diesen unten anpassen
if (p == 3)  {
if (z == "3214")  {dom.GetObject('code_anzeige').State("code richtig");}
else {dom.GetObject('code_anzeige').State("code falsch");}
} 
}
dann noch dieses Script, es fragt die Variable 'code_anzeige' ab, auf den Wert 'code richtig' und 'code falsch'
löscht die Anzeige und falls code richtig eingegeben ist, schaltet die Variable 'code_ausloeser' auf true/wahr, bei falschem code auf false/falsch.
verzögert um 2 sekunden wählen!

Code: Alles auswählen

var y = dom.GetObject('code_anzeige').State();
if (y == "code falsch") {dom.GetObject('code_anzeige').State("");
dom.GetObject('code_ausloeser').State(false);
} 
if (y == "code richtig") {dom.GetObject('code_anzeige').State("");
dom.GetObject('code_ausloeser').State(true);
} 
Jetzt brauchen wir noch ein Programm welches auf die korrekte Eingabe reagiert, bei mir name 'coderichtig':
Bildschirmfoto 2018-02-11 um 10.39.28.png
Im dann Teil dann die gewünschte Aktion wählen...
Falls im Neo die Seiten Aktion gesetzt wurde, muss unbedingt die Variable 'code_ausloeser' wieder auf falsch gesetzt werden!!
Man kann jetzt noch ein Programm erstellen wie dieses, nur mit der Abfrage von 'code_ausloeser' auf falsch...also bei Eingabe des falschen code.
Kann man auch im Sonst, wenn teil diese abfrage machen...und dann eine Aktion erstellen.

Wenn man jetzt die eingabe testet im neo (nicht wie verrückt klicken, sondern die Anzeige der Zahl abwarten!!!), gibt man die zehlen, z.b. 2378, erscheint im obigem textfeld 'code falsch' und nach 2 sekunden ist das feld leer und man kann neue eingabe machen. Wenn man sich vertippt, löscht man es mit raute taste.
Gibt man 3214 erscheint 'code richtig' und bei mir wechselt die Seite auf Indexseite, und die dann Aktion im 2. Programm wird ausgeführt...Licht Bad geht an.

schneidy76
Beiträge: 340
Registriert: 18.11.2016, 22:36
Wohnort: ziemlich weit unten
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Codeeingabe per Mediola in HM

Beitrag von schneidy76 » 11.02.2018, 11:12

Danke für die Tipps, wurschtel mich gerade durch die erste Lösung durch.
Geht ganz gut bisher, vor allem versuche ich noch die WLAN Verbindung der Smartphones über das bekannte Addon mit zu verbinden.
Vg Torsten
Raspberry Matic RP3, iobroker & Node-Red auf orangePi
HM Lan GW
--- HM-RF, HmIP-RF und knx Komponenten ---
Visualisierung auf Android 10" Tablett

mxsilver
Beiträge: 5
Registriert: 05.02.2020, 14:04
Hat sich bedankt: 1 Mal

Re: Codeeingabe per Mediola in HM

Beitrag von mxsilver » 10.03.2020, 13:12

Moin,

habe mich mal an der Version von 33zdenko rangemacht...

Irgendwie klappt das aber nicht..
Systemvariablen sind angelegt, Programme auch.

Wenn ich in Mediola jetzt einen Ziffernblock erstelle, und den einzelnen Zahlen die Variablen Code_zahl mit den Werten von 0-9 zuteile, und über dem Ziffernblock ein Textfeld mit Status code-anzeigen erstelle, kann ich soviel wie ich will auf den Zahlen rumdrücken.

Oben in der Anzeige bleiben immer ??? stehen ??

Kann mir hier jemand weiterhelfen ?

Gruß

Sebastian

Benutzeravatar
WRadebeul
Beiträge: 141
Registriert: 29.01.2018, 13:53
Hat sich bedankt: 2 Mal
Danksagung erhalten: 12 Mal

Re: Codeeingabe per Mediola in HM

Beitrag von WRadebeul » 19.03.2020, 14:20

Hatte das gleich Problem:

Prüfe bitte ob Deine Systemvariable 'code_auslöser' mit " ö " oder 'code_ausloeser' mit " oe " angelegt st.

Wenn " ö " dann im 2. Skript die beiden dom.GetObject('code_auslöser').State(.....) Befehle auf " ö " ändern.
Alternativ die Systemvariable auf "oe" ändern und in NEO neu importieren.

Dann funktioniert es einwandfrei.

@ 33zdenko: Ändere das bitte einmal in Deiner Beschreibung
Raspberrymatic, iOBroker, Homematic Classic, Homematic Homebrew, CUL 868 für Somfy Rolladen, Sonoff 3.0 ZigBee, NeoCreator zur Visualisierung, Mediola 4+ Gateway für IR, InfluxDB & Grafana

Fagott
Beiträge: 23
Registriert: 03.04.2017, 16:25

Re: Codeeingabe per Mediola in HM

Beitrag von Fagott » 28.01.2021, 17:06

Servus! Ich würde gerne diese Variante zum Aktivieren und Deaktivieren meiner Alarmanlage per PIN benutzen. Zum Aktivieren reicht mir diese Erklärung. Aber wie gehe ich vor, wenn ich mit der gleichen PIN die Anlage deaktivieren möchte. Bitte um einen Denkanstoss... :)

Benutzeravatar
Joopde
Beiträge: 226
Registriert: 23.04.2016, 19:35
Wohnort: 09432 Großolbersdorf
Hat sich bedankt: 8 Mal
Danksagung erhalten: 3 Mal

Re: Codeeingabe per Mediola in HM

Beitrag von Joopde » 10.02.2021, 13:40

Hallo,

habe die Variante von 33zdenko versucht.

Bekomme im Textfeld auch Zahlen angezeigt. Irgendwie scheint der Scribt aber immer etwas zu verschlucken.

Mit folgenden Zeilen komme ich nicht klar.

!p == 3 - codelänge von 4 zahlen, 3417 ist mein richtiger code, diesen unten anpassen
if (p == 3) {
if (z == "3417") {dom.GetObject('code_anzeige').State("code richtig");}
else {dom.GetObject('code_anzeige').State("code falsch");}


Mein Code ist nur ein Test :D
Warum steht bei Codelänge eine 3 wenn der Code 4-stellig ist? Habe es auch schon mit 4 getestet.
Funktioniert nicht.

VG
176 Kanäle in 76 Geräten:
2x HM-Sen-MDIR-O, 3x HM-Sen-MDIR-O-2, 1x HM-Sec-MDIR, 18x HM-LC-Sw1-FM, 1x HM-RC-Key3-B, 7x HM-Sec-RHS, 2x HM-Sec-RHS-2, 1x HM-RC-4-2, 1x HM-RC-4, 1x HM-OU-CF-Pl, 1x HM-OU-CFM-TW, 1x HM-RC-19, 1x HM-RC-8, 2x HM-RC-Key4-2, 1x HM-Sen-LI-O, 9x HM-Sec-SD, 1x HM-Sec-SD-Team, 9x HM-LC-Bl1-FM, 1x HM-Sec-Key-S, 1x HM-LC-Dim1T-FM, 1x HM-LC-Sw2-FM, 1x HM-WDS10-TH-O, 2x HM-WDS40-TH-I, 2x HM-Sec-SC-2, 1x HM-PB-2-WM55-2, 2x HM-ES-PMSw1-Pl, 1x HM-LC-Sw1-Pl, 1x HM-LC-Sw1-Pl-2

schneidy76
Beiträge: 340
Registriert: 18.11.2016, 22:36
Wohnort: ziemlich weit unten
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Codeeingabe per Mediola in HM

Beitrag von schneidy76 » 10.02.2021, 14:24

Hallo Joopde,

versuche die hier:
viewtopic.php?f=18&t=31049

Läuft bei mir tadellos.

VG Torsten
Raspberry Matic RP3, iobroker & Node-Red auf orangePi
HM Lan GW
--- HM-RF, HmIP-RF und knx Komponenten ---
Visualisierung auf Android 10" Tablett

Benutzeravatar
Joopde
Beiträge: 226
Registriert: 23.04.2016, 19:35
Wohnort: 09432 Großolbersdorf
Hat sich bedankt: 8 Mal
Danksagung erhalten: 3 Mal

Re: Codeeingabe per Mediola in HM

Beitrag von Joopde » 10.02.2021, 23:16

Hallo,
schneidy76 hat geschrieben:
10.02.2021, 14:24
versuche die hier:
viewtopic.php?f=18&t=31049
Danke aber habe ich schon versucht. Auch bei meinem Versuch kann ich den Code in beliebiger Reihenfolge eingeben. Die Antworten von Challenger waren noch mehr verwirrend.

Daher und auch wegen der Textanzeige für den Code mit Bestätigung finde ich diese Version von 33zdenko besser.

Einige Fragen: Ist 33zdenko noch aktiv? Könnte er sich bitte nochmal dem Problem widmen? Wer von den Scribtspezialisten wäre bereit sich die beiden Scribte anzusehen und gegebenenfalls zu optimieren.

Ich habe leider nicht die geringste Ahnung von diesen Dingen habe mir mit Mediola einen Tastaturblock gebastelt den ich für verschiedenste Auslöser per Code einsetzen möchte. Muss eben für jeden Auslöser ein Programm auf der CCU2 erstellen.

VG
176 Kanäle in 76 Geräten:
2x HM-Sen-MDIR-O, 3x HM-Sen-MDIR-O-2, 1x HM-Sec-MDIR, 18x HM-LC-Sw1-FM, 1x HM-RC-Key3-B, 7x HM-Sec-RHS, 2x HM-Sec-RHS-2, 1x HM-RC-4-2, 1x HM-RC-4, 1x HM-OU-CF-Pl, 1x HM-OU-CFM-TW, 1x HM-RC-19, 1x HM-RC-8, 2x HM-RC-Key4-2, 1x HM-Sen-LI-O, 9x HM-Sec-SD, 1x HM-Sec-SD-Team, 9x HM-LC-Bl1-FM, 1x HM-Sec-Key-S, 1x HM-LC-Dim1T-FM, 1x HM-LC-Sw2-FM, 1x HM-WDS10-TH-O, 2x HM-WDS40-TH-I, 2x HM-Sec-SC-2, 1x HM-PB-2-WM55-2, 2x HM-ES-PMSw1-Pl, 1x HM-LC-Sw1-Pl, 1x HM-LC-Sw1-Pl-2

Antworten

Zurück zu „mediola“