Amazon Echo Control Binding

  • Hier das ganze [definition='1','0']log[/definition]:

    er meldet nen sql Fehler das ist wohl das Problem:


    Support ME ! Buy me a Coffee :thumbup:


    Dont Touch ME

    LivingRoom: SilverStone Milo ML03 | Gigabyte B450 | Ryzen 3400G | 250GB NVME | 16GB DDR4-3200| Win10 64 bit | KODI 18 | Logitech Harmony Elite | SONOS Playbar + SUB
    BedRoom: PLAY:3
    Kitchen: PLAY:3
    BathRoom: Play:3

  • Hier das ganze [definition='1','0']log[/definition]:

    er meldet nen sql Fehler das ist wohl das Problem:


    Ja da steht ja das es die Tabelle item0002 nicht gibt.
    Diese wird normalerweise automatisch erstellt, ansonsten Mal die Tabelle kontrollieren , löschen und openhab / Raspberry neu starten , dann sollte er die Tabelle neu anlegen.

  • ALso hab die DB nochmal gedroppt und dann mit dem Zeichencode angelegt aus deinem Link.

    Ging leider nicht:

    Code
    2020-03-04 21:06:32.470 [ERROR] [org.knowm.yank.Yank                 ] - Error in SQL query!!!
    
    
    
    
    
    
    java.sql.SQLException: Column length too big for column 'value' (max = 21844); use BLOB or TEXT instead Query: CREATE TABLE IF NOT EXISTS item0001 (time TIMESTAMP(3) NOT NULL, value VARCHAR(65500), PRIMARY KEY(time)) Parameters: []

    http://wiki.r1soft.com/display/kb3/Co…+(max+%3D+21845)

    Habs nun mit latin1_german1_ci angelegt - mit dem Zeichencode aus deinem Link ging es leider nicht.

    Nun scheint er alles sauber angelegt zu haben. Kann leider erst wieder morgen testen.

    Support ME ! Buy me a Coffee :thumbup:


    Dont Touch ME

    LivingRoom: SilverStone Milo ML03 | Gigabyte B450 | Ryzen 3400G | 250GB NVME | 16GB DDR4-3200| Win10 64 bit | KODI 18 | Logitech Harmony Elite | SONOS Playbar + SUB
    BedRoom: PLAY:3
    Kitchen: PLAY:3
    BathRoom: Play:3

  • habe das ganze mal nachgebaut, allerdings ohne mariadb , ich denke das sortBy[lastUpdate].last bezieht sich auf die mariadb Funktion oder? um zu schauen wo die frage gestellt wurde und auch nur dort zu antworten oder ?


    kann ich das auch beim normalen rrd4j persistence irgendwie sortieren? bzw nur dort antworten lassen wo die frage gestellt wurde ?


    habs so drin für alle 3 echos, aber wenn man natürlich überall die frage gestellt hat ist das schlecht


    Code
    if (Alexaechodot3_lastvoicecommand.state == "sind noch fenster geöffnet")
            { 
                 Alexa_nachrichtvorlesen.sendCommand("Ja, folgende Fenster sind noch geöffnet. " + OffeneFenster)
            }
  • Die lastUpdate extension bezieht sich allgemein auf Persistence. Welche DB du verwendest ist egal. Du musst halt nur in den Strategies für die Items auch festlegen, dass sie bei jeder Änderung gespeichert werden.

    Die Sache funktioniert übrigens auch ohne Persistence bei mir einwandfrei (halt nicht mit lastUpdate).

  • Die lastUpdate extension bezieht sich allgemein auf Persistence. Welche DB du verwendest ist egal. Du musst halt nur in den Strategies für die Items auch festlegen, dass sie bei jeder Änderung gespeichert werden.

    Die Sache funktioniert übrigens auch ohne Persistence bei mir einwandfrei (halt nicht mit lastUpdate).

    ich habe everychange in der persistence drin. Aber als ich sie Frage eben oben am Echo gestellt habe ging es, aber nachdem ich es an dem in der Küche probiert habe , kam nur das Alexa das nicht versteht. Dann habe ich es wieder oben getestet dann ging es wieder.

    Wie hast du es drin ?

  • ich habe everychange in der persistence drin. Aber als ich sie Frage eben oben am Echo gestellt habe ging es, aber nachdem ich es an dem in der Küche probiert habe , kam nur das Alexa das nicht versteht. Dann habe ich es wieder oben getestet dann ging es wieder.

    Dann poste halt mal alles, also die Rule und die zugehörigen Items (+ggf. noch Log). Da ist bestimmt irgendwas faul.

    Wie hast du es drin ?

    Hab jetzt nicht speziell für Fenster offen aber lässt sich ja leicht übertragen:

  • Dann poste halt mal alles, also die Rule und die zugehörigen Items (+ggf. noch Log). Da ist bestimmt irgendwas faul.

    Hab jetzt nicht speziell für Fenster offen aber lässt sich ja leicht übertragen:

    und was steht bei dir in Muellabfuhr_NachsteAbholung ?


    hier


    rule


    items


    Code
    Group Amazon_Echos "Amazon Echos"
    Group:Contact:OR(OPEN,CLOSED) Fenster      "Fenster [MAP(fenstersensoren.map):%s]"         <window>
    String      Alexaechodot1_lastvoicecommand              "letzer Sprachbefehl"     (Amazon_Echos)      { channel="amazonechocontrol:echo:3e611610:G090XG0793060A9N:lastVoiceCommand" }
    String 		Alexa1_nachrichtvorlesen				"Wohnzimmer - Text to Speech"			{ channel="amazonechocontrol:echo:3e611610:G090XG0793060A9N:textToSpeech" }
    String      Alexaechodot3_lastvoicecommand              "letzer Sprachbefehl"          (Amazon_Echos)   { channel="amazonechocontrol:echo:3e611610:G090XG0793351UHL:lastVoiceCommand" }
    String 		Alexa3_nachrichtvorlesen				"Wohnzimmer - Text to Speech"		 	{ channel="amazonechocontrol:echo:3e611610:G090XG0793351UHL:textToSpeech" }
    String      Alexaechodot2_lastvoicecommand              "letzer Sprachbefehl"         (Amazon_Echos)    { channel="amazonechocontrol:echo:3e611610:G6G0XG08943404N0:lastVoiceCommand" }
    String 		Alexa_nachrichtvorlesen				"Wohnzimmer - Text to Speech"			{ channel="amazonechocontrol:echo:3e611610:G6G0XG08943404N0:textToSpeech" }


    Also ich habe jetzt das Problem das er mir immer oben antwortet auch wenn ich die Frage unten Stelle.

  • und was steht bei dir in Muellabfuhr_NachsteAbholung ?

    Das sind einfach nur die Tage bis zur nächsten Abholung. Ist aber für das Beispiel nicht relavant. Konkret ist nur wichtig, dass triggeringItem das Item ist, was hier ausgelöst hat. In deinem Fall so:



    Zitat

    Also ich habe jetzt das Problem das er mir immer oben antwortet auch wenn ich die Frage unten Stelle.

    Schaue ich mir vielleicht nachher noch an. Muss erstmal runter kommen. Gerade Feierabend gemacht und kann jetzt erstmal keinen Code mehr sehen. :wacko: Vielleicht ein anderer?

  • Das sind einfach nur die Tage bis zur nächsten Abholung. Ist aber für das Beispiel nicht relavant. Konkret ist nur wichtig, dass triggeringItem das Item ist, was hier ausgelöst hat. In deinem Fall so:

    Schaue ich mir vielleicht nachher noch an. Muss erstmal runter kommen. Gerade Feierabend gemacht und kann jetzt erstmal keinen Code mehr sehen. :wacko: Vielleicht ein anderer?

    ich kann mir nur vorstellen das das Amazon_Echos.members.sortBy[lastUpdate].last bei dem rrd4j persistence nicht funktioniert. sonst würde er ja am richtigen gerät antworten

  • ich kann mir nur vorstellen das das Amazon_Echos.members.sortBy[lastUpdate].last bei dem rrd4j persistence nicht funktioniert. sonst würde er ja am richtigen gerät antworten

    Dann mach es doch so, wie ich es gepostet hab. :P Wenn dem so ist, kann ich aber nicht verstehen warum es in der allgemeinen Doku steht.

  • Dann mach es doch so, wie ich es gepostet hab. :P Wenn dem so ist, kann ich aber nicht verstehen warum es in der allgemeinen Doku steht.

    kapiere aber nicht was ich anstatt des triggeritem nehmen soll, ich muss doch irgendwie festlegen das er den echo nehmen soll von dem er die frage gestellt kriegt.


    EDIT

    habs kapiert, so gehts


    vielen dank :thumbup:

  • kapiere aber nicht was ich anstatt des triggeritem nehmen soll, ich muss doch irgendwie festlegen das er den echo nehmen soll von dem er die frage gestellt kriegt.

    Eh ich hab deine Rule doch "korrigiert" und hier gepostet. Musst quasi nur Copy&Paste machen (sofern ich nichts vergessen habe).

    triggeringItem entspricht immer dem Item, was das auslöst (also deinem currentEcho).

    currentEcho -> triggeringItem ändern


    und

    val currentEcho = Amazon_Echos.members.sortBy[lastUpdate].last


    brauchst du dann gar nicht mehr.

  • hab meinen post doch editiert :whistling:

    genau das war mir bis dahin nicht bewusst, was ich aber dann gemerkt habe.


    triggeringItem entspricht immer dem Item, was das auslöst (also deinem currentEcho).

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!