NEWS
Text2Command / Button betätigen
-
Hallo,
ich versuche via Telegram diverse Geräte zu steuern mit Telegram und dem Text2Command Adapter. Bei meinen Lichtern bekommen ich das ohne Probleme hin mit den Prozentwerten oder true/false. Allerdings funktioniert es leider nicht bei anderen Geräten wo ein Button gedrückt werden muss.
Hier bin ich im Text2Command gleich vorgegangen:
- Regel: Schalte irgendwas an oder aus
- Trigger Wort entsprechend vergeben
- Paramater: Den Button entsprechend gewählt
- Parameter: true
Leider starten aber meine Geräte damit nicht.
Hat jemand eine Idee? -
@samsungfreak Einen Hardware-Button kann man nicht virtuell drücken. Eine Schalt-/Messsteckdose z.B. aber hat einen Kanal (in diesem Fall 3), auf dem man den "State" direkt auf true/false setzen kann. Hilft Dir das weiter?
-
Ich meinte damit den "Virtuellen Button" vom iobroker. Hier am Beispiel von meinem Staubsauger:
Wenn ich das so umsetze mit Text2Command funktioniert es leider nicht:
Ist mein Gedanke hier grundsätzlich falsch? (Ziel: Staubersauger starten/stoppen via Telegram)
-
@samsungfreak Ah, ok. Nein, das sieht für mich richtig aus. Wenn Du in den Objekten den Button manuell betätigst, dann funktioniert's?
-
Ja dann funktioniert es. Immer wenn ich den Button "Staubsauger an" drücke kommt als Antworttext wieder immer "Staubsauger ein oder ausschalten?"
.
Hier mein Skript dahinter:sendTo('telegram.0', { text: 'Staubsauger ein oder ausschalten?', user: 'X' , reply_markup: { keyboard: [ ['Übersicht', ''], ['Staubsauger an', 'Staubsauger aus'] ], resize_keyboard: true, one_time_keyboard: false } });
-
@samsungfreak Ich habe mal eben auf die Schnelle mit einem noch nicht belegten Menü-Eintrag in Telegram ("Innen") versucht und ein Alexa SmartHome Device geschaltet, es funktioniert:
Benenne doch mal den Eintrag auf Irgendwas um, was garantiert noch nirgends vorkommt. Geht's dann? Wenn ja, würde ich mal die Liste der Geräte und Einträge in text2command durchgehen. Sofern ich mich erinnere, geht das einfach stumpf von oben nach unten zum ersten Treffer...
-
Ich habe es jetzt hinbekommen allerdings nur durch den Austausch von den Skripten.
Ich bin zwei verschiedenen Anleitungen gefolgt. Der eine Weg funktioniert dabei bei mir nicht bzw. irgendwo ist ein Fehler drin.Wenn ich folgendes Skript nehme funktioniert alles:
sendTo('telegram.0',{ text: 'Hier sind die Buttons:', reply_markup: { keyboard: [ ['Stehlampe an', 'Stehlampe aus'], ['Staubsauger an', 'Staubsauger aus'], ['Rasenmäher an', 'Rasenmäher aus'], ['Garage auf', 'Garage zu'], ], resize_keyboard: true, one_time_keyboard: true } });
Entsprechend habe ich dazu die entsprechenden Einträge unter dem Text2Command Adpater (Stehlampe an/aus usw.).
Mit meinem ersten Versuch und Skripten funktioniert es nicht. Hier gibt es pro Raum ein zusätzliches Skript.
Hier das Einstiegsskript:sendTo('telegram.0', { text: 'Raum wählen', reply_markup: { keyboard: [ ['Arbeitszimmer', ''], ['Staubsauger' ,''], ['Garage' ,''], ['Rasenmäher' ,''], ], resize_keyboard: true, one_time_keyboard: false } });
Und hier das Skript pro Raum/Gerät. Als Beispiel das für meinen Staubsauger:
sendTo('telegram.0', { text: 'Staubsauger ein oder ausschalten?', reply_markup: { keyboard: [ ['Übersicht', ''], ['Staubsauger an', 'Staubsauger aus'] ], resize_keyboard: true, one_time_keyboard: false } });
Bei der Variante sehe ich das Menü im Telegram Bot und auch die Buttons ab wenn ich dann z.B. auf Stausauger / Staubsauger aus klicke kommt "Staubsauger ein oder ausschalten?" .
Ich weiß nicht wo der Fehler bei der zweiten Skriptvariante liegt welche ich zuerst verfolgt habe.Siehst du hier einen Fehler?
-
@samsungfreak Ich denke das ist das, was ich oben erwähnt habe: text2command erkennt "Staubsauger" und nimmt dann "..ein oder ausschalten" statt an/aus. Benenne mal probehalber "Staubsauger an" in irgendetwas um, dass es noch nicht gibt in Deinem Setup. Geht das dann?
-
@Ahnungsbefreit Jetzt habe ich verstanden was du meintest mit dem, dass Text2Command von oben nach unten alles durch geht.
Ich konnte es jetzt lösen in dem ich das Triggerwort immer unter die Funktionen gestellt habe:- Staubsauger an
- Staubsauger aus
- Staubsauger
Wenn die Reihenfolge andersrum ist funktioniert es nicht:
- Staubsauger
- Staubsauger an
- Staubsauger aus
Problem ist gelöst. Vielen Dank:)
-
@samsungfreak Super!