NEWS
Folientastatur/Keypad mit Tasmota
-
Hallo Leute,
Habe ein neues Projekt gestartet.
Ich habe mir ein Keypad zugelegt und möchte es am Wemos D1 anschließen.
Den Wemos möchte ich mit Tasmota Flaschen damit ich die Zahlen easy per Sonoff Adapter auslesen kann.Hat jemand von euch sowas schon umgesetzt ?
Und mag sein Wissen mit uns teilen ? -
@smartysmart sagte in Folientastatur/Keypad mit Tasmota:
Hat jemand von euch sowas schon umgesetzt ?
Hallo
Habe für meine Verwendung einen Wemos mit einem Skript am laufen.
Gesteuert werden können zb. Tasmota Geräte.
Läuft über MQTT.
Im Skript werden die jeweiligen Geräte eingetragen und durch betätigen
von zb. Key1 das Gerät geschaltet (AN/AUS).
Zeile für Key1 sieht dann so aus.char KEY_1[] = "http://192.168.178.15/cm?user=admin&password=joker&cmnd=Power%20Toggle";
Die Platine kann so bestückt werden.
-
@premo ich würde das gern direkt über die tasmota firmeware steuern.
ich müsste dazu eigtl nur auf die einzelnen pins jeweils ein taster binden und somit würde ein drücken auf die nummer diese zahl in iobroker aktualisieren und damit könnte ich dann arbeiten bzw das script machen.
Wenn Zahl 1 aktualisiert wurde dann wurde Zahl 1 gedrückt
Wenn Zahl 2 aktualisiert wurde dann wurde Zahl 2 gedrückt
Wenn Zahl 3 aktualisiert wurde dann wurde Zahl 3 gedrückt ... uswaber irgendwie will es noch nicht ganz.
Ich habe eine 4x4 Matrix. Müssen also die 8 Kontakte alle an den D1-7 an Wemos dran ?
Was ist mit 5,5v und Ground ? -
@smartysmart
Ich habe D1 - D8 verbundenHabe in Tasmota 8 switches definiert. Dadurch erstellt er mir in ioBroker Datenpunkte Power1 -Power8 ...
Keine dieser Datenpunkte reagiert.Der Datenpunkt "power" allerdings reagiert bei den Zahlen 1,4,7 & * ... und zwar springt dieser auf "true" und sobakd ich die taste los lasse wieder zurück auf "false"
Wenn ich jetzt die Zahl 1 halte und die Zahl 2 drücke dann reagiert der Datenpunkt auf der zahl 2 aber eben nur wenn ich die 1 halte.
Es ist aber immer nur der Datenpunkt "Power" welcher reagiert somit weiss ich garnicht welche zahl gedrückt wurde.
Wie schaffe ich es also dass bei der entsprechenden Nummer Power1-Power8 reagieren ?
-
Hat keiner eine Idee ?
-
@smartysmart
Hallo,eine Matrix Tastatur funktioniert so, dass man auf einem Kontakt eine Spannung anlegt, die anderen Kontakte abfragt, ob die Spannung auch dort anliegt (zurück kommt). Dann nimmt man die Spannung wieder weg, legt die auf einen anderen Kontakt und fragt wieder die anderen Kontakte ab. Je, nachdem, bei welcher Kombination von Kontakten die Spannung anliegt, kann man ermitteln, welche Taste gedrückt wird.
Das musst du also Deinem Gerät beibringen. Entweder zu Fuss programmieren oder evtl. vorhandene Bibliothek nutzen.
-
@peterfido mit der Arduino IDE und einem fertigen Sketch gibt es sowas fertig.
Ich möchte allerdings das ganze mit der Tasmota Firmeware realisieren.
Hat das schon jemand hier geschafft ? -
@smartysmart sagte in Folientastatur/Keypad mit Tasmota:
ich würde das gern direkt über die tasmota firmeware steuern.
Also, mit Tasmota habe ich auch schon mal versucht dieses umzusetzen.
Aber leider nichts gefunden.
Das Skript was ich nutze zeigt in IOBroker welcher Key gedrückt wird.
Zur Zeit habe ich ne grosse Baustelle zu Hause und wenig Zeit.
Werde heute Abend mal schauen wie dass in IOBroker ausschaut. -
@premo Das wird dann wohl per MQTT auf ioBroker gesendet?
Kannst du mir wenn du zeit hast mal das Script sagen welches du nutzt, dann mach ich es eben auch damit. -
@smartysmart sagte in Folientastatur/Keypad mit Tasmota:
Ich möchte allerdings das ganze mit der Tasmota Firmeware realisieren.
Hat das schon jemand hier geschafft ?Das würde nur mit der Skriptsprache von Tasmota umzusetzen sein, ohne Vorkenntnisse zu programmieren wird das sehr schwer werden.
-
@Wal ok also mit dem fertigen Sketch ist das deutlich einfacher umzusetzen. Habe das nun auch hinbekommen.
Kann mir jemand nur noch das Script ergänzen zwecks MQTT ? Sodass ich die Zahlen am ioBroker auslesen kann ?
Am liebsten wäre es mir wenn ich 16 Datenpunkte anlege mit der entsprechen Nummer/Buchstabe.
Und Je nachdem welche Taste ich drücke soll dann dieser Datenpunkt im ioBroker sich aktualisieren bzw erneut geschrieben werden das ist dann egal.#include <Keypad.h> const byte ROWS = 4; //four rows const byte COLS = 4; //three columns char keys[ROWS][COLS] = { {'1','2','3', 'A'}, {'4','5','6', 'B'}, {'7','8','9', 'C'}, {'*','0','#', 'D'} }; byte rowPins[ROWS] = {5, 0, 13, 12}; //connect to the row pinouts of the keypad byte colPins[COLS] = {15, 14, 2, 4}; //connect to the column pinouts of the keypad Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); void setup(){ Serial.begin(9600); } void loop(){ char key = keypad.getKey(); if (key){ Serial.println(key); } }
-
@smartysmart
schau mal hier, müsste mit deinem Keypad funktionieren. -
@Wal ahhhhh das ist das was ich suche.
Die Verbindung zum sonoff wurde auch aufgebaut.
Allerdings werden die Zahlen noch nicht übermittelt obwohl im serial monitor alles gut ausschaut.hier werden Zahlen gesendet
in iobroker sehe ich allerdings nur dass die verbindung steht. Kein Datenpunkt mit einer zahl oder so.
-
Wenn ich das richtig verstehe wird hier der publish gemacht.
Kann es sein, dass ich hier noch was anpassen muss ? -
ok ich habs. Mit dem Sonoff Adapter geht das nicht. Mit dem Mqtt Adapter ist das perfekt
-
@smartysmart sagte in Folientastatur/Keypad mit Tasmota:
ok ich habs. Mit dem Sonoff Adapter geht das nicht. Mit dem Mqtt Adapter ist das perfekt
Ja, der sonoff ist nur für Tasmotageräte.
-
@smartysmart sagte in Folientastatur/Keypad mit Tasmota:
Kannst du mir wenn du zeit hast mal das Script sagen welches du nutzt, dann mach ich es eben auch damit.
-
@premo danke
Gibt es ein Gehäuse für die Folientastatur zu kaufen oder macht ihr ein 3D Druck ?
-
@smartysmart
meist selber Drucken da oft in eigenen Projekten eingebunden wird.
3D Druck hier zB:
Gehäuse -
@Ralla66 Jo das hab ich auch gefunden aber das ist ja unpraktisch, weil das Ding muss ja tiefer sein, damit dahinter auch der Wemos Stromkabel und Jumper passen ...
Ich werd glaub ich was drucken lassen. Oder ich pack das auf eine Elektro Abzweigdose drauf und dann und Unterputz