Offline Sprachassistent für Android ohne Internet Geräte Steuern über iobroker Alexa alternative

  • Offline Sprachassistent für Android

    ..

    Was ist zu beachten?

    Am Ende des Satzes immer den Schaltbefehl sagen

    • Schalte das Licht im Arbeitszimmer an/aus/ein
    • Im Arbeitszimmer bitte das Licht ausschalten/einschalten

    Am Ende des Satzes immer Prozent sagen.

    • Schalte das Licht im Arbeitszimmer auf 20%
    • Stelle im Arbeitszimmer das Licht auf 30%

    Damit Farben funktionieren

    Am Ende des Satzes muss immer die Farbe gesagt werden

    Es funktioniert nur, wenn im selben Datenpunk-Ordner ein Datenpunkt vorhanden ist,

    der als Rolle = level.color.rgb benannt ist und Hex-Farbcodes benutzt (#ffff00 z.B.)

    Für echtes weiß muss ein Datenpunkt als Rolle = level. color.temperature vorhanden sein.

    • Schalte das Licht im Arbeitszimmer auf rot
    • Stelle im Arbeitszimmer das Licht auf grün

    Für Umschaltbefehle immer "schalte", sagen und ohne einen Schaltbefehl

    • Schalte das Licht im Arbeitszimmer

    Blockly Code Anleitung:

    !!ACHTUNG!! Nur Datenpunkte nehmen die für true/false oder 0-100 zuständig sind. Keine anderen.

    Für Farbe sucht das Script die Datenpunkte selber.

    !! Wenn 0-100 Datenpunkt vorhanden ist, nur den nehmen. Ansonsten den Datenpunkt für true/false !!


    1 Datenpunkt verknüpfen zum MQTT Server

    MQTT Topic (Siehe untern)




    Auf das Blaue bei der 1 klicken und 1 Element hinzufügen (es dürfen keine leeren Elemente vorhanden sein)

    Die 2 kopieren und hinzufügen


    Grüner Block:

    1= Für den smarten Namen "Licht Arbeitszimmer" jedes Wort mit Komma trennen:

    Licht, Arbeitszimmer

    Am Ende darf kein Komma stehen

    2= Es muss ein Datenpunkt sein, der ein /true/false beinhaltet oder, bei Dimm fähigen Geräten, die Zahlen 0-100 haben.

    Andere werden wahrscheinlich nicht funktionieren. Die müssen manuell eingetragen werden. Aber nicht in diesen Bereich.


    Reihenfolge der Elemente:

    Es wird immer von oben nach unten abgearbeitet.

    Gleiche Wörter in Smartnamen, muss das mit den meisten Wörtern IMMER als erstes stehen

    Wenn die Reihenfolge falsch ist, wird es nicht richtig funktionieren.

    Ein Beispiel:

    Eine Lampe mit den Smarten Namen "Licht Arbeitszimmer" soll geschaltet werden

    und ein Gerät mit Smarten Namen "Arbeitszimmer" der z.B. alles an/ausschalten soll.


    Ist der Aufbau so, wird es nicht richtig funktionieren. Warum?

    Der Block sucht nach der richtigen Anzahl erstellten Wörter.

    Der erste grüne Block hat 1 Wort. Der 2te, 2 Wörter.

    Wenn ich sage "Schalte das Arbeitszimmer an" wird das richtig funktionieren.

    Da es immer von oben nach unten abgearbeitet wird, findet das Script den Namen "Arbeitszimmer" (1Wort) und schaltet Arbeitszimmer an und beendet den Block

    Sage ich jetzt "Schalte das Licht im Arbeitszimmer ein", (2Wörter) wird er nach "Arbeitszimmer" und "Licht" suchen.

    Da als erstes "Arbeitszimmer" steht (1 Wort), wird er Arbeitszimmer finden (1 Wort) und schaltet das Gerät Arbeitszimmer und der Block beendet.

    Das falsche Gerät hat jetzt quasi geschaltet, da es als erstes gefunden wurde.


    Richtig ist:

    Ist der Aufbau so, wird es richtig funktionieren. Warum?

    Der Block sucht nach der richtigen Anzahl erstellten Wörter.

    Der erste grüne Block hat 2 Wörter. Der 2te, 1 Wort.

    Wenn ich sage "Schalte das Arbeitszimmer an" wird das richtig funktionieren.

    Da es immer von oben nach unten abgearbeitet wird, findet das Script den Namen "Arbeitszimmer" (1Wort),

    aber da im ersten Block 2 Wörter sind, fehlt ihm das 2. Wort (Anzahl ist falsch) und sucht weiter.

    Im 2ten Block findet er das Wort Arbeitszimmer. Die Anzahl ist 1. Das passt, und er schaltet das Gerät "Arbeitszimmer" und beendet den Block.

    Sage ich jetzt "Schalte das Licht im Arbeitszimmer ein" (2Wörter) wird er nach "Arbeitszimmer" suchen und nach "Licht".

    Da als erstes "Licht, Arbeitszimmer" steht (2 Wörter), wird er "Licht + Arbeitszimmer" finden (2 Wörter) und schaltet das Gerät "Licht Arbeitszimmer" und der Block beendet.


    Andere Geräte:

    Sollte etwas anderes geschaltet werden:

    1 Wonach "EXAKT" gesucht werden soll.

    2 Was geschaltet werden soll und wie, wenn es gefunden wurde.

    Wenn man sagt"es ist zu dunkel hier im Arbeitszimmer" wird es gefunden und es schaltet das Gerät

    Wenn man sagt"es ist hier zu dunkel im Arbeitszimmer" sind die Wörter nicht in richtiger Reihenfolge, und es passiert nichts.



    Und hier der Block. Viel Spass:

    !!Blockly Plus!! muss installiert sein. Überdie Katze (Experteneinstellung bei Adapter) den Link eintragen

    https://github.com/excal-foley/ioBroker.blockly-plus


    Android APK:

    Bei google downloaden: --> https://play.google.com/store/apps/details?id=rcr.mqttvoice <--

    Oder zum selber basteln bei mir auf Github -->https://github.com/elzershark/MQTT_Voice-master<--


    Oder meine APK. Ich habe Benutzer un Passwort hinzugefügt


    MQTT Shark Voice.apk <-- download apk


    und die Spracherkennung muss installiert sein:

    Bei google downloaden: --> https://play.google.com/store/…tts&pcampaignid=web_share


    iobroker Adapter:

    Den MQTT Broker/Client istallieren. Er darf kein Passwort haben wenn man nicht meine apk Datei nimmt.

    In der Original apk ist leider kein Passwort vorgesehen.

    Zur Not einfach ein 2ten installieren. Achtet auf den Port, das der frei ist.

    Ob ein Port frei ist, kann man so testen: 1889 wäre der zu überprüfende Port.

    Wird dabei nichts angezeigt, ist der Port frei und man kann ihn nutzen

    8081 belegt von io.admin.0 (iobroker Admin Adapter)

    1889 keine Anzeige = frei

    Code
    1. sudo netstat -lntup | grep ":1889"


    1 auf Server/Broker stellen

    2 Port (darf nicht belegt sein)


    Die APP:

    (In der Einstellung vom Handy nach "Google Spracheingabe" suchen)

    (Sprache hinzufügen. Offline Sprachen verwalten)


    1 Button zum sprechen

    2 IP vom iobroker + Port vom MQTT Server

    3 MQTT Topic. änderbar