Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [Projekt] Integr. Cubinote - Alexa Sprache drucken - Listen

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    184

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.4k

[Projekt] Integr. Cubinote - Alexa Sprache drucken - Listen

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
65 Beiträge 8 Kommentatoren 10.1k Aufrufe 12 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T ThorstenStr

    @agria4800
    Hallo, ich klinke mich mal ein, habe die ganze Zeit im hintergrund still mit gelesen und bin gerade dabei das ganze auch um zu setzten.
    Da ich leider mit den Skripten im ioBroker noch nicht viel gemacht habe, habe ich hier ein Paar verständnissfragen.
    Das Sammel der Daten hat soweit geklappt, ich kann über die API (Link) auch Drucken. Die Datenpunkte sind angelegt und auch entsprechend gefüllt.
    Jetzt zu den Skripten. Hier bin ich mir nicht sicher ob ich alles richtig gemacht habe, muss von den DP nicht irgendwo ein Bezug zu dem jeweiligen Script sein? ist die Namensgebung der Scripte wichtig?
    Egal welche tests ich im ioBroker mache, der Drucker zuckt sich nicht. Könnt Ihr mir hier weiter helfen?

    Hier ein Screenshot der DP und der angelegten Scripte:
    screenshot.JPG

    dankeschön ;)

    Agria4800A Offline
    Agria4800A Offline
    Agria4800
    schrieb am zuletzt editiert von Agria4800
    #46

    @thorstenstr Eigentlich musst du nix einrichten, die Scripte von Sebastion-io sind einsatzbereit bis auf die Echo ID (aber nur für die Ansage durch Alexa)

    Der Pfad ist bei dir auch so: alexa2.0.Lists.SHOPPING_LIST?

    Geht der DP wieder zurück auf false nach 2 sek. ? 0_userdata.0.cubinote.actionStates.print_shoppinglist_state

    Hast du das letzte Scritp von Ihm mal getestet --> Notizen drucken ?

    T 1 Antwort Letzte Antwort
    0
    • Agria4800A Agria4800

      @thorstenstr Eigentlich musst du nix einrichten, die Scripte von Sebastion-io sind einsatzbereit bis auf die Echo ID (aber nur für die Ansage durch Alexa)

      Der Pfad ist bei dir auch so: alexa2.0.Lists.SHOPPING_LIST?

      Geht der DP wieder zurück auf false nach 2 sek. ? 0_userdata.0.cubinote.actionStates.print_shoppinglist_state

      Hast du das letzte Scritp von Ihm mal getestet --> Notizen drucken ?

      T Offline
      T Offline
      ThorstenStr
      schrieb am zuletzt editiert von
      #47

      @agria4800 Ja, der Pfad zur Shoppinglist passt bei mir.
      der DP bleibt bei mir auf True stehen wenn ich ihn setze.
      shoppinglist.JPG

      ich bin mir nicht sicher ob ich die Scripte richtig angelegt habe.
      [+] Neues Script -> Javascript -> einen Namen vergeben (egal welcher?) -> Inhalt in das Script kopiert und aktiviert.
      passt das so ?

      Agria4800A 1 Antwort Letzte Antwort
      0
      • T ThorstenStr

        @agria4800 Ja, der Pfad zur Shoppinglist passt bei mir.
        der DP bleibt bei mir auf True stehen wenn ich ihn setze.
        shoppinglist.JPG

        ich bin mir nicht sicher ob ich die Scripte richtig angelegt habe.
        [+] Neues Script -> Javascript -> einen Namen vergeben (egal welcher?) -> Inhalt in das Script kopiert und aktiviert.
        passt das so ?

        Agria4800A Offline
        Agria4800A Offline
        Agria4800
        schrieb am zuletzt editiert von
        #48

        @thorstenstr: Ja, das passt so.

        Villeicht einen past & copy fehler, lege das Script nochmal neu an und kopiere es aus dem Forum neu.

        Analog bitte auch mal das probieren aus dem post --> 7. Apr. 2021, 17:28
        DP: 0_userdata.0.cubinote.Notizen.notizenText
        Das hier kannst du noch in das script einfügen, dann erstellt er dir auch den DP

        createState('0_userdata.0.cubinote.Notizen.notizenText', {name: 'Text drucken', type: 'string', def: '0',unit: '', desc: 'Beschreibung', role: 'value'});
        
        T 1 Antwort Letzte Antwort
        0
        • Agria4800A Agria4800

          @thorstenstr: Ja, das passt so.

          Villeicht einen past & copy fehler, lege das Script nochmal neu an und kopiere es aus dem Forum neu.

          Analog bitte auch mal das probieren aus dem post --> 7. Apr. 2021, 17:28
          DP: 0_userdata.0.cubinote.Notizen.notizenText
          Das hier kannst du noch in das script einfügen, dann erstellt er dir auch den DP

          createState('0_userdata.0.cubinote.Notizen.notizenText', {name: 'Text drucken', type: 'string', def: '0',unit: '', desc: 'Beschreibung', role: 'value'});
          
          T Offline
          T Offline
          ThorstenStr
          schrieb am zuletzt editiert von
          #49

          @agria4800 Vielen Dank.
          Ich weiss nicht was ich das erste mal falsch gemacht habe, aber nachdem ich die DP neu erstellt habe, stehen diese in den Objekten auch ganz oben und nicht mehr unter Javascript.
          Auf jeden Fall funktioniert jetzt auch alles.
          Dankeschön ;)

          1 Antwort Letzte Antwort
          0
          • Sebastian IOS Sebastian IO

            "Alexa, drucke Einkaufsliste"
            "Alexa, drucke Aufgabenliste" ...

            ... genau diese beiden Sprachbefehle haben mir gefehlt für einen schnellen Ausdruck in Notizgröße für obengenannte Listen!
            Ich bin fündig geworden bei Cubinote, einem noch sehr jungen Produkt. Es ist ein kleiner Thermopapier Drucker für die Hosentasche mit eigener App zum Drucken von Notizen und auch Bildern im 1Bit monochrom Format! Also eine Spielerei für TechnikNerds!

            Der große Vorteil, dieser Drucker bietet eine WepApi an, mit dieser kann man dann verschiedene Befehle absetzen und der kleine Drucker führt diese aus.
            Das Projekt war geboren ...

            Was wurde gemacht:
            Es wurden Datenpunkte für die wichtigsten Daten wie (url,appid,accesskey,deviceid etc) angelegt, weitere Datenpunkte für die verschiedenen States zum Abfragen, Smartobjekte angelegt über iot zum Erstellen von Routinen mit Alexa, in meinem Fall drucken.
            Noch ein paar Javascripte programmiert für die einzelnen Abfragen, wie Binding, Status und Drucken. Alles mit einander verknüpft, getestet und aktiviert.

            Ich habe ein kurzes Video mit meinem Smartphone aufgenommen, leider ist der Ton sehr leise. Wer Interesse hat, kann sich das 1-minütige Video auf YT ansehen (Ton muss leider sehr laut gestellt werden, sorry):
            Cubinote Integration Video YT

            Viel Spass.

            Für Ideen und Anregungen bin ich natürlich offen!

            PS: Ich will mir eventuell dann auch andere Datenpunkte, wie Systeminformationen etc auch per Sprache zum Druck ausgeben lassen.

            L Offline
            L Offline
            Legoracer70
            schrieb am zuletzt editiert von Legoracer70
            #50

            @sebastian-io Hallo, ich bin von deinem Projekt so begeistert, dass ich mir auch gleich einen Cubinote bestellt habe. Leider bevor ich richtig mit einsteigen kann, ist das Projekt vielleicht schon zu Ende, außer wenn du noch einen genialen Tipp für mich hast ?
            Zum Problem: Heute ist der Cubinote geliefert wurden und ich kann mir die größte Mühe geben, ich bekomme den Cubinote nicht mit der Android-App zum Laufen. Ich habe das 5Ghz in meiner Fritzbox abgeschaltet und sogar das WLAN-Passwort auf ganz einfach ohne Sonderzeichen geändert. Ich habe den automatischen, wie auch den manuellen Weg probiert. Einmal kam sogar auf dem Ausdruck ein "connected" raus, aber trotzdem konnte ich nicht über die App einen Text drucken. Jedes mal wird der Drucker als Offline angezeigt. Langsam bin ich mit meinem Latein am Ende ...
            Kann der Drucker auch ohne App auf Auslieferungszustand zurück gesetzt werden ?
            Ich bin so weit, dass der Drucker sonst wieder zurück geht. Vielleicht habe ich ja auch ein "Montagsmodell" erwischt :confounded:
            Vielleicht hast du ja noch eine Idee ?
            Gruß,
            Legoracer

            Sebastian IOS 1 Antwort Letzte Antwort
            0
            • L Legoracer70

              @sebastian-io Hallo, ich bin von deinem Projekt so begeistert, dass ich mir auch gleich einen Cubinote bestellt habe. Leider bevor ich richtig mit einsteigen kann, ist das Projekt vielleicht schon zu Ende, außer wenn du noch einen genialen Tipp für mich hast ?
              Zum Problem: Heute ist der Cubinote geliefert wurden und ich kann mir die größte Mühe geben, ich bekomme den Cubinote nicht mit der Android-App zum Laufen. Ich habe das 5Ghz in meiner Fritzbox abgeschaltet und sogar das WLAN-Passwort auf ganz einfach ohne Sonderzeichen geändert. Ich habe den automatischen, wie auch den manuellen Weg probiert. Einmal kam sogar auf dem Ausdruck ein "connected" raus, aber trotzdem konnte ich nicht über die App einen Text drucken. Jedes mal wird der Drucker als Offline angezeigt. Langsam bin ich mit meinem Latein am Ende ...
              Kann der Drucker auch ohne App auf Auslieferungszustand zurück gesetzt werden ?
              Ich bin so weit, dass der Drucker sonst wieder zurück geht. Vielleicht habe ich ja auch ein "Montagsmodell" erwischt :confounded:
              Vielleicht hast du ja noch eine Idee ?
              Gruß,
              Legoracer

              Sebastian IOS Offline
              Sebastian IOS Offline
              Sebastian IO
              schrieb am zuletzt editiert von
              #51

              @legoracer70 moin ich kann dir da leider auch nicht so richtig weiterhelfen, mein glück war dass ich noch ein altes smartphone hatte und damit mich mit dem cubinote im 2,4Ghz WLAN verbinden konnte. Der Rest wie man einen Reset macht, müsste ja irgendwo in der Beschreibung/Handbuch stehen. Aber ich kann mich auch erinnern dass es nicht so einfach war den cubinote mit ins wlan zubringen. Evtl. mal im Router schauen ob der Cubinote auftaucht, aber wie gesagt, das kann an vielem liegen.

              Sorry!

              L 3 Antworten Letzte Antwort
              0
              • Sebastian IOS Sebastian IO

                @legoracer70 moin ich kann dir da leider auch nicht so richtig weiterhelfen, mein glück war dass ich noch ein altes smartphone hatte und damit mich mit dem cubinote im 2,4Ghz WLAN verbinden konnte. Der Rest wie man einen Reset macht, müsste ja irgendwo in der Beschreibung/Handbuch stehen. Aber ich kann mich auch erinnern dass es nicht so einfach war den cubinote mit ins wlan zubringen. Evtl. mal im Router schauen ob der Cubinote auftaucht, aber wie gesagt, das kann an vielem liegen.

                Sorry!

                L Offline
                L Offline
                Legoracer70
                schrieb am zuletzt editiert von Legoracer70
                #52

                @sebastian-io Moin, die Situation hat sich gerade gewandelt. Es lag wohl doch an meinen Sonderzeichen im WLAN-Passwort. Damit ich nicht alle WLAN-Geräte mit einem neuen Passwort versorgen muss, habe ich noch einen alten WLAN-Repeater als AP in mein Netz gebracht, wo definitiv kein Sonderzeichen im Passwort vorkommt. Über diesen AP kommt nur noch mein Cubinote ins Netz und was soll ich sagen, es funktioniert endlich. Jetzt kann ich mit der Umsetzung deines Projektes beginnen :blush:
                Vielen Dank schonmal für dein Feedback.
                Gruß,
                Legoracer

                1 Antwort Letzte Antwort
                1
                • Sebastian IOS Sebastian IO

                  @legoracer70 moin ich kann dir da leider auch nicht so richtig weiterhelfen, mein glück war dass ich noch ein altes smartphone hatte und damit mich mit dem cubinote im 2,4Ghz WLAN verbinden konnte. Der Rest wie man einen Reset macht, müsste ja irgendwo in der Beschreibung/Handbuch stehen. Aber ich kann mich auch erinnern dass es nicht so einfach war den cubinote mit ins wlan zubringen. Evtl. mal im Router schauen ob der Cubinote auftaucht, aber wie gesagt, das kann an vielem liegen.

                  Sorry!

                  L Offline
                  L Offline
                  Legoracer70
                  schrieb am zuletzt editiert von
                  #53

                  @sebastian-io Hallo, die Umsetzung deines Projektes hat ganz gut funktioniert. Nur eins kann ich im Moment nicht nachvollziehen: Der Drucker druckt die Überschrift, z.B. Einkaufsliste, aber die Einträge aus der Liste werden nicht gedruckt. Ich kann in IO-Broker sehen, dass ich zur Zeit 5 Sachen auf meiner Einkaufsliste habe. Aber Keiner wird gedruckt.
                  Hat jemand die rettende Idee ?

                  Gruß,
                  Legoracer

                  1 Antwort Letzte Antwort
                  0
                  • Sebastian IOS Sebastian IO

                    @legoracer70 moin ich kann dir da leider auch nicht so richtig weiterhelfen, mein glück war dass ich noch ein altes smartphone hatte und damit mich mit dem cubinote im 2,4Ghz WLAN verbinden konnte. Der Rest wie man einen Reset macht, müsste ja irgendwo in der Beschreibung/Handbuch stehen. Aber ich kann mich auch erinnern dass es nicht so einfach war den cubinote mit ins wlan zubringen. Evtl. mal im Router schauen ob der Cubinote auftaucht, aber wie gesagt, das kann an vielem liegen.

                    Sorry!

                    L Offline
                    L Offline
                    Legoracer70
                    schrieb am zuletzt editiert von
                    #54

                    @sebastian-io Hallo, das leere "json-Feld" hat sich erledigt. Alexa-Instanz gelöscht und neu hinzugefügt und was soll ich sagen: Es funktioniert Alles wunderbar :blush:
                    Danke nochmal für dieses schöne Projekt ...
                    Gruß,
                    Legoracer

                    1 Antwort Letzte Antwort
                    1
                    • Sebastian IOS Sebastian IO

                      @mcchickents ich habe das jetzt auch mal direkt in der url eingegeben und als rückgabe im Browser bekomme ich als json format folgende Ausgabe:

                      showapi_res_code	1
                      showapi_res_error	"ok"
                      showapi_devicetype	602
                      showapi_bindid	807927
                      

                      Und der Drucker printet:
                      App name: iobroker-cubinote
                      Developer: sebastian_io
                      Verification-Code: .....

                      Bei dir müsste also dein App Name, Developer etc drin stehen und wenn du das über iobroker machst und den Datenpunkt 0_userdata.0.cubinote.actionStates.check_binding_state auf true setzt, dann sollte eine Sprachausgabe über deine ausgewählte alexa kommen, aber ohne Ausdruck!

                      G Offline
                      G Offline
                      ggansde
                      schrieb am zuletzt editiert von ggansde
                      #55

                      @sebastian-io said in [Projekt] Integr. Cubinote - Alexa Sprache drucken - Listen:

                      @mcchickents ich habe das jetzt auch mal direkt in der url eingegeben und als rückgabe im Browser bekomme ich als json format folgende Ausgabe:

                      showapi_res_code	1
                      showapi_res_error	"ok"
                      showapi_devicetype	602
                      showapi_bindid	807927
                      

                      Und der Drucker printet:
                      App name: iobroker-cubinote
                      Developer: sebastian_io
                      Verification-Code: .....

                      Bei dir müsste also dein App Name, Developer etc drin stehen und wenn du das über iobroker machst und den Datenpunkt 0_userdata.0.cubinote.actionStates.check_binding_state auf true setzt, dann sollte eine Sprachausgabe über deine ausgewählte alexa kommen, aber ohne Ausdruck!

                      Super interessantes Projekt. Vielen Dank für die ganzen Infos. Ich bin ziemlich ahnungslos, versuche mich aber von Schritt zu Schritt zu hangeln.
                      VG, Markus

                      G 1 Antwort Letzte Antwort
                      0
                      • G ggansde

                        @sebastian-io said in [Projekt] Integr. Cubinote - Alexa Sprache drucken - Listen:

                        @mcchickents ich habe das jetzt auch mal direkt in der url eingegeben und als rückgabe im Browser bekomme ich als json format folgende Ausgabe:

                        showapi_res_code	1
                        showapi_res_error	"ok"
                        showapi_devicetype	602
                        showapi_bindid	807927
                        

                        Und der Drucker printet:
                        App name: iobroker-cubinote
                        Developer: sebastian_io
                        Verification-Code: .....

                        Bei dir müsste also dein App Name, Developer etc drin stehen und wenn du das über iobroker machst und den Datenpunkt 0_userdata.0.cubinote.actionStates.check_binding_state auf true setzt, dann sollte eine Sprachausgabe über deine ausgewählte alexa kommen, aber ohne Ausdruck!

                        Super interessantes Projekt. Vielen Dank für die ganzen Infos. Ich bin ziemlich ahnungslos, versuche mich aber von Schritt zu Schritt zu hangeln.
                        VG, Markus

                        G Offline
                        G Offline
                        ggansde
                        schrieb am zuletzt editiert von
                        #56

                        Ich bin jetzt alle Punkte noch Plan durchgegangen, d.h. Alexa2-Adapter zum laufen gebracht (Cookie geholt, etc.), er ist grün. Ich habe die Scripte mit meinen spezifischen Inhalten durchlaufen lassen und die Datenpunkte wurden angelegt und stehen auf "true". Nachdem ich sie einen nach dem anderen auf "true" gesetzt hatte, kamen auch die genannten Sprachausgaben aus dem Echo. Weiter komme ich nicht. Alexa sagt auf den Befehl "Drucke Einkaufsliste" "Das weiß ich leider nicht". Ich wollte eine entsprechende Routine anlegen, habe aber keine Ahnung, welchen skill bzw. welches device ich nehmen soll. Im Log von iobroker steht auch noch folgendes:

                        alexa2.0 2021-05-14 08:42:09.142 warn (13670) State "alexa2.0.Lists.SHOPPING_LIST.items.eab71f9a-cd8b-43b9-941a-bca97c15cb8a.listName" has no existing object, this might lead to an error in future versions

                        Danke für ein ein wenig Unterstützung. VG, Markus

                        G 1 Antwort Letzte Antwort
                        0
                        • G ggansde

                          Ich bin jetzt alle Punkte noch Plan durchgegangen, d.h. Alexa2-Adapter zum laufen gebracht (Cookie geholt, etc.), er ist grün. Ich habe die Scripte mit meinen spezifischen Inhalten durchlaufen lassen und die Datenpunkte wurden angelegt und stehen auf "true". Nachdem ich sie einen nach dem anderen auf "true" gesetzt hatte, kamen auch die genannten Sprachausgaben aus dem Echo. Weiter komme ich nicht. Alexa sagt auf den Befehl "Drucke Einkaufsliste" "Das weiß ich leider nicht". Ich wollte eine entsprechende Routine anlegen, habe aber keine Ahnung, welchen skill bzw. welches device ich nehmen soll. Im Log von iobroker steht auch noch folgendes:

                          alexa2.0 2021-05-14 08:42:09.142 warn (13670) State "alexa2.0.Lists.SHOPPING_LIST.items.eab71f9a-cd8b-43b9-941a-bca97c15cb8a.listName" has no existing object, this might lead to an error in future versions

                          Danke für ein ein wenig Unterstützung. VG, Markus

                          G Offline
                          G Offline
                          ggansde
                          schrieb am zuletzt editiert von
                          #57

                          Inzwischen läuft alles wie beschrieben. Nochmal Danke!

                          G 1 Antwort Letzte Antwort
                          1
                          • Sebastian IOS Sebastian IO

                            @agria4800 guten morgen,

                            ich poste meine Scripte die ich verwende, ich arbeite auch mit alexa als sprachausgabe, sprich du musst dann ein Gerät hinterlegen, dort wird dann die Sprachausgabe erfolgen.

                            Ich poste dir auch ein Script mit createState, dort werden alle wichtigen Datenpunkte angelegt, diese brauchst du nur einmal ausführen zum anlegen, danach kannst du das Script wieder ausschalten.

                            Script createStatesCubinote (dementsprechend deine Zugangsdaten hinterlegen, bevor das Script ausgeführt wird):

                            
                            createState('0_userdata.0.cubinote.apiurl','http://api.cubinote.com/home/',{name:'Api url for requests',type:"string",role:"value"});
                            createState('0_userdata.0.cubinote.appid','YOUR APP ID',{name:'AppID',type:"string",role:"value"});
                            createState('0_userdata.0.cubinote.accesskey','YOUR ACCESSTOKEN',{name:'Access Key',type:"string",role:"value"});
                            createState('0_userdata.0.cubinote.deviceid','YOUR DEVICEID',{name:'Id of cubinote printer',type:"string",role:"value"});
                            createState('0_userdata.0.cubinote.bindid','YOUR BINDID',{name:'Id of cubinote Binding id',type:"string",role:"value"});
                            createState('0_userdata.0.cubinote.userid','YOUR USERID',{name:'Username account',type:"string",role:"value"});
                            
                            createState('0_userdata.0.cubinote.actionStates.print_shoppinglist_state',false,{name:'Shopping List state',type:"boolean",role:"switch"});
                            createState('0_userdata.0.cubinote.actionStates.print_todolist_state',false,{name:'Todo List state',type:"boolean",role:"switch"});
                            createState('0_userdata.0.cubinote.actionStates.read_cubinotestatus_state',false,{name:'Cubinote Status state',type:"boolean",role:"switch"});
                            createState('0_userdata.0.cubinote.actionStates.write_binding_state',false,{name:'Write binding state',type:"boolean",role:"button"});
                            createState('0_userdata.0.cubinote.actionStates.check_binding_state',false,{name:'Check binding state',type:"boolean",role:"switch"});
                            

                            write & check binding state script:

                            Bei echodevice deinen Echo hinterlegen, nun kannst du mit den Datenpunkten
                            0_userdata.0.cubinote.actionStates.write_binding_state (einmal auf true setzen) deine binding id bekommen, diese wird dann in den definierten Datenpunkt geschrieben.

                            0_userdata.0.cubinote.actionStates.check_binding_state (einmal auf true setzen) hier bekommst du dann eine Sprachausgabe ob die Verbindung erfolgreich war. Beide Datenpunkte brauchst du nur einmal ausführen, letztlich brauchen wir ja nur die bindid.

                            const moment = require('moment');
                            var aApiSettings = {
                                //Echo fuer Sprachausgabe
                                'echodevice': 'YOUR ECHO DEVICE',
                                'url': getState("0_userdata.0.cubinote.apiurl").val,
                                'action': {
                                    'print': 'printpaper',
                                    'devicestatus': 'getdeviceinfo',
                                    'printstatus': 'getprintstat',
                                    'requestbind': 'requestbind',
                                    'requestbindstatus': 'getbindrequeststatus',
                                    'verifybind': 'verifybind',
                                },
                                'appid': '?appID=' + getState("0_userdata.0.cubinote.appid").val,
                                'accesskey': '&ak=' + getState("0_userdata.0.cubinote.accesskey").val,
                                'deviceid': '&deviceID=' + getState("0_userdata.0.cubinote.deviceid").val,
                                'bindid': '&bindID=' + getState("0_userdata.0.cubinote.bindid").val,
                                'userid': '&useridentifying=' + getState("0_userdata.0.cubinote.userid").val,
                                'liststates': {
                                    '0_userdata.0.cubinote.actionStates.print_shoppinglist_state': 'alexa2.0.Lists.SHOPPING_LIST.json',
                                    '0_userdata.0.cubinote.actionStates.print_todolist_state': 'alexa2.0.Lists.TO_DO.json'
                                }
                            }
                            //check binding state
                            on({ id: '0_userdata.0.cubinote.actionStates.check_binding_state', val: true }, function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                                moment.locale('de');         // de
                                var TimeStamp = moment().format('YYYY-MM-DD hh:mm:ss');
                                var sTimestamp = '&timestamp=' + TimeStamp;
                                var apiUrl = aApiSettings.url + aApiSettings.action.requestbindstatus + aApiSettings.appid + aApiSettings.accesskey + sTimestamp + aApiSettings.deviceid + aApiSettings.bindid;
                                const request = require('request');
                                request({ 'uri': apiUrl }, function (error, response, json) {
                                    if (!error && response.statusCode === 200) {
                                        var aReturn = JSON.parse(json);
                                        if (aReturn.showapi_res_code == 1) {
                                            //Alexa Sprachausgabe
                                            setState(aApiSettings.echodevice + ".Commands.speak", '50; Verbindungsstatus erfolgreich');
                            
                                        }
                                        if (aReturn.showapi_res_code != 1) {
                                            //Alexa Sprachausgabe
                                            setState(aApiSettings.echodevice + ".Commands.speak", '50; Verbindungsstatus nicht erfolgreich');
                            
                                        }
                                    }
                                });
                                //reset check binding state after 2 seconds
                                setStateDelayed('0_userdata.0.cubinote.actionStates.check_binding_state', false, 2000, false);
                            
                            });
                            
                            on({ id: '0_userdata.0.cubinote.actionStates.write_binding_state', val: true }, function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                                moment.locale('de');         // de
                                var TimeStamp = moment().format('YYYY-MM-DD hh:mm:ss');
                                var sTimestamp = '&timestamp=' + TimeStamp;
                                var apiUrl = aApiSettings.url + aApiSettings.action.requestbind + aApiSettings.appid + aApiSettings.accesskey + sTimestamp + aApiSettings.deviceid + aApiSettings.userid;
                                //console.log(apiUrl);
                                const request = require('request');
                                request({ 'uri': apiUrl }, function (error, response, json) {
                                    if (!error && response.statusCode === 200) {
                                        var aReturn = JSON.parse(json);
                                        //{"showapi_res_code":1,"showapi_res_error":"ok","showapi_devicetype":301,"showapi_bindid":807712}
                                        if (aReturn.showapi_res_code == 1) {
                                            setState("0_userdata.0.cubinote.bindid", aReturn.showapi_bindid);
                                            setState(aApiSettings.echodevice + ".Commands.speak", '50; Verbindung erfolgreich');
                                            var verificationUrl = aApiSettings.url + aApiSettings.action.verifybind + aApiSettings.appid + aApiSettings.accesskey + sTimestamp + aApiSettings.deviceid;
                                            verificationUrl += '&bindID=' + aReturn.showapi_bindid + '&verifyCode=CODE&enablePush=0';
                                            //console.log(verificationUrl);
                                        }
                            
                                    }
                                });
                            });
                            

                            Script für Cubinote Status abfragen:
                            0_userdata.0.cubinote.actionStates.read_cubinotestatus_state (einmal auf true setzen) hier wird der Status des Cubinotes abgefragt und eine Sprachausgabe erzeugt. (0-out of paper and overtemperature; 1-overtemperature; 2-out of paper; 3-normal)

                            const moment = require('moment');
                            var aApiSettings = {
                                //Echo Gerät für Sprachausgabe
                                'echodevice': 'YOUR ALEXA ECHO DEVICE',
                                'url': getState("0_userdata.0.cubinote.apiurl").val,
                                'action': {
                                    'print': 'printpaper',
                                    'devicestatus': 'getdeviceinfo',
                                    'printstatus': 'getprintstat',
                                    'requestbind': 'requestbind',
                                    'requestbindstatus': 'getbindrequeststatus'
                                },
                                'appid': '?appID=' + getState("0_userdata.0.cubinote.appid").val,
                                'accesskey': '&ak=' + getState("0_userdata.0.cubinote.accesskey").val,
                                'deviceid': '&deviceID=' + getState("0_userdata.0.cubinote.deviceid").val,
                                'bindid': '&bindID=' + getState("0_userdata.0.cubinote.bindid").val,
                                'userid': '&useridentifying' + getState("0_userdata.0.cubinote.userid").val,
                                'liststates': {
                                    '0_userdata.0.cubinote.actionStates.print_shoppinglist_state': 'alexa2.0.Lists.SHOPPING_LIST.json',
                                    '0_userdata.0.cubinote.actionStates.print_todolist_state': 'alexa2.0.Lists.TO_DO.json'
                                }
                            }
                            
                            //check cubinote state
                            on({ id: '0_userdata.0.cubinote.actionStates.read_cubinotestatus_state', val: true }, function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                            
                               var outputDevice = aApiSettings.echodevice;
                                
                                moment.locale('de');         // de
                                var TimeStamp = moment().format('YYYY-MM-DD hh:mm:ss');
                                var sTimestamp = '&timestamp=' + TimeStamp;
                                var apiUrl = aApiSettings.url + aApiSettings.action.devicestatus + aApiSettings.appid + aApiSettings.accesskey + sTimestamp + aApiSettings.deviceid + aApiSettings.bindid;
                            
                                const request = require('request');
                                request({ 'uri': apiUrl }, function (error, response, json) {
                                    if (!error && response.statusCode === 200) {
                                        //{"showapi_res_code":1,"showapi_res_error":"ok","showapi_devicetype":601,"showapi_state":1,"showapi_isOnline":1 }
                                       var aReturn = JSON.parse(json);
                                       //console.log(aReturn);
                                        if (aReturn.showapi_res_code == 1) {
                                            // console.log(aReturn);
                                            if (aReturn.showapi_isOnline == 1) {
                                                //0-out of paper and overtemperature; 1-overtemperature; 2-out of paper; 3-normal
                                                var msg = '';
                                                if (aReturn.showapi_state == 1) {
                                                    msg = ' und überhitzt.';
                                                }
                                                if (aReturn.showapi_state == 2) {
                                                    msg = ' und hat kein Papier mehr.';
                                                }
                                                if (aReturn.showapi_state == 3) {
                                                    msg = ' und der Status ist normal.';
                                                }
                                                setState(outputDevice + ".Commands.speak", '50; Cubinot ist online'+msg);
                                            }
                                            if (aReturn.showapi_isOnline == 0) {
                                                setState(outputDevice + ".Commands.speak", '50; Cubinot ist offline');
                                            }
                                        }
                                    }
                                });
                            
                            
                                setStateDelayed('0_userdata.0.cubinote.actionStates.read_cubinotestatus_state', false, 2000, false);
                            });
                            
                            

                            Hier nun das Script für Ausdruck der alexa shopping liste und todo liste:
                            0_userdata.0.cubinote.actionStates.print_shoppinglist_state (Wert auf true setzen) druckt die Alexa Einkaufsliste
                            0_userdata.0.cubinote.actionStates.print_todolist_state (Wert auf true setzen) druckt die Alexa Todoliste

                            
                            const moment = require('moment');
                            const fs = require('fs');
                            
                            var aApiSettings = {
                                //Echo Gerät für Sprachausgabe
                                'echodevice': 'YOUR ECHO DEVICE',
                                'url': getState("0_userdata.0.cubinote.apiurl").val,
                                'action': {
                                    'print': 'printpaper',
                                    'devicestatus': 'getdeviceinfo',
                                    'printstatus': 'getprintstat',
                                    'requestbind': 'requestbind',
                                    'requestbindstatus': 'getbindrequeststatus'     
                                },
                                'appid': '?appID=' + getState("0_userdata.0.cubinote.appid").val,
                                'accesskey': '&ak=' + getState("0_userdata.0.cubinote.accesskey").val,
                                'deviceid': '&deviceID=' + getState("0_userdata.0.cubinote.deviceid").val,
                                'bindid': '&bindID=' + getState("0_userdata.0.cubinote.bindid").val,
                                'userid': '&useridentifying' + getState("0_userdata.0.cubinote.userid").val,
                                'liststates': {
                                    '0_userdata.0.cubinote.actionStates.print_shoppinglist_state': 'alexa2.0.Lists.SHOPPING_LIST.json',
                                    '0_userdata.0.cubinote.actionStates.print_todolist_state': 'alexa2.0.Lists.TO_DO.json'
                                }
                            }
                            
                            /**Print States */
                            for (const [state, list] of Object.entries(aApiSettings.liststates)) {
                            
                                on({ id: state, val: true }, function (obj) {
                                    var value = obj.state.val;
                                    var oldValue = obj.oldState.val;
                            
                                    moment.locale('de');         // de
                                    var TimeStamp = moment().format('YYYY-MM-DD hh:mm:ss');
                                    var sTimestamp = '&timestamp=' + TimeStamp;
                                    var apiUrl = aApiSettings.url + aApiSettings.action.print + aApiSettings.appid + aApiSettings.accesskey + sTimestamp + aApiSettings.deviceid + aApiSettings.bindid;
                                    apiUrl += '&printcontent=T:';
                            
                            
                                    var aLists = JSON.parse(getState(list).val);
                                    var printList = '';
                                    var TimeStampList = moment().format('DD.MM.YYYY HH:mm');
                                    if(list == 'alexa2.0.Lists.SHOPPING_LIST.json'){
                                        printList = 'Einkaufsliste '+TimeStampList+'\n\r';
                                        printList += '================================\n\n\r';
                                    }
                                    if(list == 'alexa2.0.Lists.TO_DO.json'){
                                        printList = 'TODO Liste '+TimeStampList+'\n\r';
                                        printList += '================================\n\n\r';
                                    }
                                     printList += aLists.map(function (val) {
                                        var item = val.value
                                        item = item[0].toUpperCase() + item.substring(1);
                                        return (val.completed ? '[X] ' : '[ ] ') + item;
                                    }).join('\n\n\r');
                                   
                                  //es sind keine Umlaute zulässig somit müssen diese ersetzt werden
                                    printList = printList.replace(/Ä/g, 'Ae');
                                    printList = printList.replace(/ä/g, 'ae');
                                    printList = printList.replace(/Ö/g, 'Oe');
                                    printList = printList.replace(/ö/g, 'oe');
                                    printList = printList.replace(/Ü/g, 'Ue');
                                    printList = printList.replace(/ü/g, 'ue');
                                    printList = printList.replace(/ß/g, 'ss');
                            
                                    var base64 = new Buffer(printList).toString('base64');
                            
                                    apiUrl += base64;
                                  
                                    //console.log(apiUrl);
                                    const request = require('request');
                                    request({ 'uri': apiUrl}, function (error, response, json) {
                                        if (!error && response.statusCode === 200) {
                            
                                            var aReturn = JSON.parse(json);
                                            //{"showapi_res_code":1,"showapi_res_error":"ok","result":2,"printcontentid":52476}
                                            if (aReturn.result == 2) {
                                                var statusUrl = aApiSettings.url + aApiSettings.action.printstatus + aApiSettings.appid + aApiSettings.accesskey + sTimestamp;
                                                statusUrl += '&printcontentid=' + aReturn.printcontentid;
                            
                                                request({ 'uri': statusUrl }, function (err, resp, jsonStatus) {
                                                    //{"showapi_res_code":1,"showapi_res_error":"ok","printflag":1,"printcontentid":52476}
                                                    var outputDevice = aApiSettings.echodevice;
                                                    
                                                    setState(outputDevice + ".Commands.speak", '50; Drucken Liste erfolgreich');
                                
                                                });
                            
                                            }
                            
                                        }
                                    });
                            
                                    setStateDelayed(state, false, 2000, false);
                                });
                            }
                            
                            

                            Die actionstates wurden alle als switch definiert die sich nach 2 Sekunden wieder automatisch auf false setzen, ich habe diese so gewählt, da man dann in den Alexa Routinen einfacher Sprachbefehle definieren kann. Sprich jeder action state wurde so angelegt dass man mit alexa routinen einfach und schnell sprachbefehle erzeugen kann im Zusammenspiel mit iot.

                            iot-cubinote.png

                            Ich denke nun hast du alles dass du auch weiter damit experementieren kannst.
                            Ich wünsche Dir viel Spaß.

                            M Offline
                            M Offline
                            medoxxx
                            schrieb am zuletzt editiert von
                            #58

                            @sebastian-io mich fasziniert dein Projekt gewaltig und wäre froh wenn ich dich vielleicht kurz um einen Rat fragen dürfte. Ich bin schon sehr weit gekommen danke deiner Anweisungen, doch nur stellt sich mir gerade die Frage, was genau ich bei diesen Skript ändern muss oder kann ich sie schon so hernehmen. Des weiteren ist mir nicht ganz klar wie ich diese dann zum laufen bringe d.h. Alexa darauf reagiert. Muss ich diese verknüpfen? Über eine Antwort würde ich mich sehr freuen vielen vielen lieben Dank und liebe Grüß!

                            Entschuldigung für die doofen Fragen...

                            1 Antwort Letzte Antwort
                            0
                            • G ggansde

                              Inzwischen läuft alles wie beschrieben. Nochmal Danke!

                              G Offline
                              G Offline
                              ggansde
                              schrieb am zuletzt editiert von
                              #59

                              @ggansde said in [Projekt] Integr. Cubinote - Alexa Sprache drucken - Listen:

                              Inzwischen läuft alles wie beschrieben. Nochmal Danke!

                              Nach mehreren updates von Adaptern (Admin, Alexa2) funktioniert es nun plötzlich nicht mehr. Ich bin ratlos. Die Scripte laufen fehlerfrei. Sie Instanzen sind alle grün. Die Schalter sind in der Alexa-App vorhanden und lassen sich bedienen. Die Routinen laufen, Alexa sagt ok. Am Cubinote kommt scheinbar nichts mehr an. Im iobroker-log sehe ich nur einen Eintrag "Alexa-Push-Connection disconnected - retry: Retry Connection in 60s". Bitte um Hilfe. Danke!

                              M 1 Antwort Letzte Antwort
                              0
                              • G ggansde

                                @ggansde said in [Projekt] Integr. Cubinote - Alexa Sprache drucken - Listen:

                                Inzwischen läuft alles wie beschrieben. Nochmal Danke!

                                Nach mehreren updates von Adaptern (Admin, Alexa2) funktioniert es nun plötzlich nicht mehr. Ich bin ratlos. Die Scripte laufen fehlerfrei. Sie Instanzen sind alle grün. Die Schalter sind in der Alexa-App vorhanden und lassen sich bedienen. Die Routinen laufen, Alexa sagt ok. Am Cubinote kommt scheinbar nichts mehr an. Im iobroker-log sehe ich nur einen Eintrag "Alexa-Push-Connection disconnected - retry: Retry Connection in 60s". Bitte um Hilfe. Danke!

                                M Offline
                                M Offline
                                medoxxx
                                schrieb am zuletzt editiert von
                                #60

                                @ggansde ich habe selbiges Problem und weiß echt nicht mehr weiter... 😔

                                G 1 Antwort Letzte Antwort
                                0
                                • M medoxxx

                                  @ggansde ich habe selbiges Problem und weiß echt nicht mehr weiter... 😔

                                  G Offline
                                  G Offline
                                  ggansde
                                  schrieb am zuletzt editiert von
                                  #61

                                  @medoxxx Ich denke, dieser Beitrag ist tot und es wird keine Hilfe mehr geben. Evtl. noch meine letzten Erfahrungen. Ich habe alles neu installiert und es funktionierte dennoch nicht. Der Fehler war, dass ich in einem Script einen fehlerhaften Space eingebaut hatte. Danach lief wieder alles. Es bleibt aber ein Fehler bestehen: Irgendwann hängt es sich so auf, dass aus der shopping list immer nur noch dieselben Artikel alten und bereits gelöschten Artikel gedruckt werden, obwohl in der Alexa-Instanz in den Objekten die aktuellen items angezeigt werden. Da hat bei mir nur die komplette Neuinstallation des Alexa-Adapters den Fehler behoben. VG, Markus

                                  M 1 Antwort Letzte Antwort
                                  0
                                  • G ggansde

                                    @medoxxx Ich denke, dieser Beitrag ist tot und es wird keine Hilfe mehr geben. Evtl. noch meine letzten Erfahrungen. Ich habe alles neu installiert und es funktionierte dennoch nicht. Der Fehler war, dass ich in einem Script einen fehlerhaften Space eingebaut hatte. Danach lief wieder alles. Es bleibt aber ein Fehler bestehen: Irgendwann hängt es sich so auf, dass aus der shopping list immer nur noch dieselben Artikel alten und bereits gelöschten Artikel gedruckt werden, obwohl in der Alexa-Instanz in den Objekten die aktuellen items angezeigt werden. Da hat bei mir nur die komplette Neuinstallation des Alexa-Adapters den Fehler behoben. VG, Markus

                                    M Offline
                                    M Offline
                                    medoxxx
                                    schrieb am zuletzt editiert von
                                    #62

                                    @ggansde danke dir für deine Antwort und deinen Problemlösungsvorschlag - hat super geklappt. Schauen wir mal, auf wie lange!
                                    Liebe Grüße zurück!!! :-)

                                    Agria4800A 1 Antwort Letzte Antwort
                                    0
                                    • M medoxxx

                                      @ggansde danke dir für deine Antwort und deinen Problemlösungsvorschlag - hat super geklappt. Schauen wir mal, auf wie lange!
                                      Liebe Grüße zurück!!! :-)

                                      Agria4800A Offline
                                      Agria4800A Offline
                                      Agria4800
                                      schrieb am zuletzt editiert von
                                      #63

                                      @medoxxx das lag am Alexa Adapter, bitte auf 3.11.2 updaten !!! Hier gibst mehr Info zum Problem, welches dafür Verantwortlich ist, das die Listen nicht mehr korrekt funktionierten haben…
                                      Link Text

                                      1 Antwort Letzte Antwort
                                      0
                                      • D Offline
                                        D Offline
                                        der-eine
                                        schrieb am zuletzt editiert von
                                        #64

                                        Hallo zusammen,

                                        cooles Projekt, :+1: funktioniert das auch mit Bring? Wir diktieren die Artikel für die Einkaufsliste mit Alexa aber nicht ausschließlich deshalb nutzen wir Bring.
                                        Würde dies auch hiermit funktionieren? Denn alle Artikel schreiben wir zur besseren Übersicht auf einen Zettel. Da wäre diese Projekt ideal für uns!

                                        Hat hierfür jemand eine Möglichkeit gefunden?
                                        Danke und Gruß :stuck_out_tongue:

                                        1 Antwort Letzte Antwort
                                        0
                                        • G Offline
                                          G Offline
                                          ggansde
                                          schrieb am zuletzt editiert von
                                          #65

                                          Moin, ich habe schon einen anderen thread eröffnet und auch den Support von Cubinote angeschrieben, alles vergeblich. Mich würde interessieren, ob diese Lösung bei euch noch funktioniert. Mein Cubinote blinkt dauerhaft grün, eine Verbindung mir den Servern der Fa. Cubinote ist nicht mehr möglich. Evtl. existiert diese Firma gar nicht mehr. Wie sind eure Erfahrungen?

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          862

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe