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. ioBroker Allgemein
  4. Google Home/Assistant

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.6k

Google Home/Assistant

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
418 Beiträge 69 Kommentatoren 151.2k Aufrufe 50 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.
  • M Offline
    M Offline
    MrLee
    schrieb am zuletzt editiert von
    #120

    Stimmt…ich möchte aber sagen:

    Setze Licht...

    Fahre Markise auf x %

    stelle Heizung auf 20 Grad

    Und möchte halt auch die richtige antwort haben. Ausserdem machts mir das Parsen (finde die zahl :-) ) leichter.

    Habs gerade mal für Markisen und dimmer gemacht...Heizung kommt gleich.

    1. zur Unterscheidung habe ich einen custom service im cloud definiert (muß nicht, sonst halt im blockly nen "falls setze" aussenrum einbauen)

    2. ifttt "setze $ auf # %" an custom service

    3 in blockly text übernehmen und letzten 3 zeichen in ne Zahl umwandeln und in ne variable

    4. falls "Kamin" dann kaminzimmerllicht.level=variable

    5. falls "markise" dann markise.level=variable

    nächster schritt, nen weiteren ifttt für "stelle $ auf # Grad" für die Heizung...

    Also nen Adapter braucht man eigentlich nicht mehr...so ist viel flexibler :-)

    bis denne

    Mr.Lee

    1 Antwort Letzte Antwort
    0
    • lobomauL Offline
      lobomauL Offline
      lobomau
      schrieb am zuletzt editiert von
      #121

      @MrLee:

      Stimmt…ich möchte aber sagen:

      Setze Licht...

      Fahre Markise auf x %

      stelle Heizung auf 20 Grad

      Und möchte halt auch die richtige antwort haben. Ausserdem machts mir das Parsen (finde die zahl :-) ) leichter.

      Habs gerade mal für Markisen und dimmer gemacht...Heizung kommt gleich.

      1. zur Unterscheidung habe ich einen custom service im cloud definiert (muß nicht, sonst halt im blockly nen "falls setze" aussenrum einbauen)

      2. ifttt "setze $ auf # %" an custom service

      3 in blockly text übernehmen und letzten 3 zeichen in ne Zahl umwandeln und in ne variable

      4. falls "Kamin" dann kaminzimmerllicht.level=variable

      5. falls "markise" dann markise.level=variable

      nächster schritt, nen weiteren ifttt für "stelle $ auf # Grad" für die Heizung...

      Also nen Adapter braucht man eigentlich nicht mehr...so ist viel flexibler :-)

      bis denne

      Mr.Lee `
      Ja, stimmt. Drei iffft für trigger worte setze, fahre, stelle wären nicht verkehrt.

      Ich habe etwas hinbekommen, das funktioniert, aber Warnungen ausgibt. Die %-Angabe muss immer am Ende erscheinen. Mit deinem Parser kriegste das bestimmt schöner hin:

      Edit: Warnung habe ich wegbekommen. Einfach Konvertierung nach Zahl zwischenschieben:
      1146_unbenannt3.jpg

      Host: NUC8i3 mit Proxmox:

      • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
      • Slave: Pi4
      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        MrLee
        schrieb am zuletzt editiert von
        #122

        Moin!

        Ich fordere für den "setzen"-skill ein format mit # %…dasheißt er reagiert nur wenn man am ende 30% sagt.

        Die zahl generiere ich daher etwas einfacher (letzten 3 Zeichen nach zahl).

        Ansonsten...the same here :-)

        Hab gerade alle Heizungen eingebunden über Heizung / Temperatur.....

        Man kann sich echt an den kram gewöhnen...kein Vergleich zu Alexa :-)

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          maniac
          schrieb am zuletzt editiert von
          #123

          @MrLee:

          body: über add ingredient hinzufügen 4.PNG

          ![](</s><URL url=)<link_text text="http://forum.iobroker.net/download/file ... &mode=view">http://forum.iobroker.net/download/file.php?id=17133&mode=view</link_text>" /> ` ~~ 3805_05_.png

          Genau das geht bei mir nicht.

          Hast Du einen Pro Account?~~

          Gruß Frank…

          1 Antwort Letzte Antwort
          0
          • lobomauL Offline
            lobomauL Offline
            lobomau
            schrieb am zuletzt editiert von
            #124

            @maniac:

            @MrLee:

            body: über add ingredient hinzufügen 4.PNG

            ![](</s><URL url=)<link_text text="http://forum.iobroker.net/download/file ... &mode=view">http://forum.iobroker.net/download/file.php?id=17133&mode=view</link_text>" /> ` ~~05,.PNG

            Genau das geht bei mir nicht.

            Hast Du einen Pro Account?~~ ` ~~Ja, aber bist noch in den IFTTT Einstellungen.

            Du musst say a phrase with a text ingredient' auswählen~~ 1146_screenshot_20171124-064453.jpg

            Host: NUC8i3 mit Proxmox:

            • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
            • Slave: Pi4
            1 Antwort Letzte Antwort
            0
            • lobomauL Offline
              lobomauL Offline
              lobomau
              schrieb am zuletzt editiert von
              #125

              Habe gerade festgestellt, dass der GH nur noch auf das ifttt applet reagiert, also egal was ich jetzt sage, "wie ist das Wetter", "Spiele Radio", "Stopp"… er reagiert nicht, sondern antwortet nur mit der Antwort wie im Applet eingestellt. So kann ich Lieder nur über spotify handy app abspielen. Geht natürlich gar nicht so... :o

              Host: NUC8i3 mit Proxmox:

              • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
              • Slave: Pi4
              1 Antwort Letzte Antwort
              0
              • N Offline
                N Offline
                NightWatcher
                schrieb am zuletzt editiert von
                #126

                In meinen Augen ist das Thema IFTTT immer nur eine Übergangslösung.

                Man will ja später einfach nur sagen können "schalte Deckenlicht ein" oder "Mir ist Kalt" und Google heizt nur den aktuellen Raum hoch. Der Mini weiss, in welchem Raum er ist und welche Aktoren ihm zugeordnet sind. Zudem wird da in Zukunft sicherlich noch einiges mehr gehen, dass man direkt in der Google Assistant App abbilden kann.

                Für den Übergang ist die hier diskutiere Lösung aber echt nicht verkehrt.

                Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  StefanH.
                  schrieb am zuletzt editiert von
                  #127

                  sehe ich genau so. wenn man schaut wie sich alexa in 1,5 jahren entwickelt hat… das wird bei google nicht anders sein. tolles team hier!

                  1 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    MrLee
                    schrieb am zuletzt editiert von
                    #128

                    @lobomau:

                    Habe gerade festgestellt, dass der GH nur noch auf das ifttt applet reagiert, also egal was ich jetzt sage, "wie ist das Wetter", "Spiele Radio", "Stopp"… er reagiert nicht, sondern antwortet nur mit der Antwort wie im Applet eingestellt. So kann ich Lieder nur über spotify handy app abspielen. Geht natürlich gar nicht so... :o `

                    Moin!

                    Das habe ich nicht.

                    Bei mir springt er ausschließlich bei den Triggerwörtern (schalte, setze …) in iffft...und das sogar nur wenn es exakt dem Muster entspricht.

                    Wie lautet Dein Format des Triggers?

                    bis denne

                    Mr.Lee

                    1 Antwort Letzte Antwort
                    0
                    • M Offline
                      M Offline
                      MrLee
                      schrieb am zuletzt editiert von
                      #129

                      @NightWatcher:

                      In meinen Augen ist das Thema IFTTT immer nur eine Übergangslösung. `

                      Moin!

                      ja und nein.

                      Natürlich ist nen extra DIenst nur eine Übergangslösung.

                      Technisch ist die Alexa-Anbindung auch nix anderes, ausser das der skill von iobroker das Triggerwort " schalte" abfängt statt ifttt.

                      Die Flexibilität die Du hier ansprichst würde ich mir auch wünschen…ABER: bei Alexa gibt es Sie ebenfalls definitiv nicht...

                      Also ist die aktuelle Lösung zumindest ebenbürtig, wenn nicht gar flexibler da man trigger und Namen selber in der Hand hat.

                      Eine Einbindung die sich tatsächlich auf eine KI bei Google stützt wird hoffentlich natürlich die zukunft sein.

                      "Hey google, man ist das kalt, ich glaube ich geh noch ins Büro" -> Heizung Büro, Wohnzimmer aus und Licht im Büro an :-)))

                      1 Antwort Letzte Antwort
                      0
                      • S Offline
                        S Offline
                        StefanH.
                        schrieb am zuletzt editiert von
                        #130

                        @lobomau

                        ich schalte Kodi per IFTTT und alles andere funktioniert auch (Wetter, News, Music) ohne IFTTT.

                        1 Antwort Letzte Antwort
                        0
                        • lobomauL Offline
                          lobomauL Offline
                          lobomau
                          schrieb am zuletzt editiert von
                          #131

                          @MrLee:

                          @lobomau:

                          Habe gerade festgestellt, dass der GH nur noch auf das ifttt applet reagiert, also egal was ich jetzt sage, "wie ist das Wetter", "Spiele Radio", "Stopp"… er reagiert nicht, sondern antwortet nur mit der Antwort wie im Applet eingestellt. So kann ich Lieder nur über spotify handy app abspielen. Geht natürlich gar nicht so... :o `

                          Moin!

                          Das habe ich nicht.

                          Bei mir springt er ausschließlich bei den Triggerwörtern (schalte, setze …) in iffft...und das sogar nur wenn es exakt dem Muster entspricht.

                          Wie lautet Dein Format des Triggers?

                          bis denne

                          Mr.Lee `
                          Ja, klar… sollte nur bei den Triggerworten laufen.

                          Vielleicht ungünstig bei mir.?.. habe drei triggerworte in einem applet...

                          • If You say "schalte $", then make a web request

                          -- Say a phrase with a text ingredient

                          1. What do you want to say?

                          schalte $

                          1. What's another way to say it? (optional)

                          stelle $

                          1. And another way? (optional)

                          setze $

                          Edit: habe die beiden Triggerworte "stelle" und "setze" herausgenommen, jetzt funktioniert der google home auch wieder.

                          Host: NUC8i3 mit Proxmox:

                          • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
                          • Slave: Pi4
                          1 Antwort Letzte Antwort
                          0
                          • N Offline
                            N Offline
                            NightWatcher
                            schrieb am zuletzt editiert von
                            #132

                            @MrLee:

                            Technisch ist die Alexa-Anbindung auch nix anderes, ausser das der skill von iobroker das Triggerwort " schalte" abfängt statt ifttt. `

                            Deshalb habe ich u.a. kein Alexa ;-) Mir gefällt das Google System von Anfang an besser (zudem bin ich sehr Google / Android belastet) und bin auch NICHT im Amazon Ökosystem integriert. 8-)

                            Man muss Alexa zugute halten, dass Sie aktuell die bessere Konnektivität mitbringt. Aber das war damals bei den ersten HTCs nicht anders. Ich wurde nur belächelt, wie man solch ein RandOS unterstützen könne… :mrgreen:

                            Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                            1 Antwort Letzte Antwort
                            0
                            • M Offline
                              M Offline
                              maniac
                              schrieb am zuletzt editiert von
                              #133

                              Jetzt funktioniert es soweit, dass ich von ifttt Daten zurück in IOBroker bekomme.

                              Danke lobomau.

                              @MrLee:

                              Weiter mit der Auswertung: (P.S.: ich bin ein lausiger Programmierer…mag also nicht die effizienteste Version sein!)

                              6.PNG

                              sowiet meine Bastellösung...

                              Fragen immer gerne, hoffe es hilft erstmal

                              Mr.Lee `

                              MrLee, Würdest Du deine Skripte auch als Blockly Export bereitstellen bitte?

                              Dann muss man nicht alles neu machen.

                              @lobomau:

                              Ja, stimmt. Drei iffft für trigger worte setze, fahre, stelle wären nicht verkehrt.

                              Ich habe etwas hinbekommen, das funktioniert, aber Warnungen ausgibt. Die %-Angabe muss immer am Ende erscheinen. Mit deinem Parser kriegste das bestimmt schöner hin:

                              Edit: Warnung habe ich wegbekommen. Einfach Konvertierung nach Zahl zwischenschieben:

                              Unbenannt3.JPG `
                              Lobomau, Gleiche Bitte. Würdest Du die Skripte auch als Blocky bereitstellen?

                              Danke

                              Gruß Frank…

                              1 Antwort Letzte Antwort
                              0
                              • lobomauL Offline
                                lobomauL Offline
                                lobomau
                                schrieb am zuletzt editiert von
                                #134

                                @maniac:

                                Lobomau, Gleiche Bitte. Würdest Du die Skripte auch als Blocky bereitstellen?

                                Danke `
                                Kein Problem. Das folgende Script funktioniert für STATES mit wahr/unwahr als auch für LEVEL mit 0 - 100%. Bei den Geräten mit LEVEL muss die %-Angabe am Ende des Satzes stehen, was der normale Fall sein sollte: "Stelle Licht Theke auf 80%".

                                ! ````
                                <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="EO-]]HP9{atW:1/lSdpj" x="13" y="13"><mutation items="1"></mutation>
                                <field name="CONDITION">ne</field>

                                <value name="OID0"><shadow type="field_oid" id="ds6CqNLiq,1L,_j8L+I:"><field name="oid">cloud.0.services.ifttt</field></shadow></value> 
                                <statement name="STATEMENT"><block type="variables_set" id=",d;a(,W7XZ`pzPQlWVtS"><field name="VAR">text</field>
                                    <value name="VALUE"><block type="text_changeCase" id="e7NkCOozlYeHjF7|nwrP"><field name="CASE">LOWERCASE</field>
                                        <value name="TEXT"><shadow type="text" id="d@K(K8`4`8wn-Dr;f{Xm"><field name="TEXT">abc</field></shadow> 
                                          <block type="convert_tostring" id=")XU.rq/+2Os^GQE@1K]g"><value name="VALUE"><block type="get_value" id="}{@^rm-GCBfc,:A3=cL."><field name="ATTR">val</field>
                                                <field name="OID">cloud.0.services.ifttt</field></block></value></block></value></block></value> 
                                    <next><block type="debug" id="xdJF8BW9hIYvAoSg=|u~"><field name="Severity">log</field>
                                        <value name="TEXT"><shadow type="text" id="Kire]]738QXYV/2ez9!="><field name="TEXT">test</field></shadow> 
                                          <block type="variables_get" id="|DS5`0Vn]-ac_NG9u1SG"><field name="VAR">text</field></block></value> 
                                        <next><block type="variables_set" id="[/`84elvb6c,nBmxY,0U"><field name="VAR">zahl</field>
                                            <value name="VALUE"><block type="convert_tonumber" id="HQgJ^%;n.7JS;Gh^TS@P"><value name="VALUE"><block type="text_join" id="Hx9j7#b7dq]gmJ.r=RSn"><mutation items="2"></mutation>
                                                    <value name="ADD0"><block type="text_charAt" id="zUMRr#bMw].X}b{(^~D4"><mutation at="true"></mutation>
                                                        <field name="WHERE">FROM_END</field>
                                                        <value name="VALUE"><block type="variables_get" id="d%?bd=@ml5feNA(kS3f("><field name="VAR">text</field></block></value> 
                                                        <value name="AT"><block type="math_number" id="gCfCKV+LsIWT}}Mk}H(h"><field name="NUM">4</field></block></value></block></value> 
                                                    <value name="ADD1"><block type="text_charAt" id="wFt6O_..c2er{KCX8+bY"><mutation at="true"></mutation>
                                                        <field name="WHERE">FROM_END</field>
                                                        <value name="VALUE"><block type="variables_get" id="@,yTLlOEmvoL!sYDdaZG"><field name="VAR">text</field></block></value> 
                                                        <value name="AT"><block type="math_number" id="-*^O]TK:/K0{Oa/oQ#vI"><field name="NUM">3</field></block></value></block></value></block></value></block></value> 
                                            <next><block type="debug" id="K~bH*H;vN3x473BnK:/3"><field name="Severity">log</field>
                                                <value name="TEXT"><shadow type="text" id="Kire]]738QXYV/2ez9!="><field name="TEXT">test</field></shadow> 
                                                  <block type="variables_get" id="6~N|sGt}l[h:{GzmZ:Gs"><field name="VAR">zahl</field></block></value> 
                                                <next><block type="controls_if" id="E}a!X{%CX{8~z!H)TOcm"><value name="IF0"><block type="logic_operation" id="K-GxOU/Iw`GTp;Co.g(5" inline="false"><field name="OP">OR</field>
                                                        <value name="A"><block type="logic_compare" id="}RTo2U3V=^=#,)hIHgG}"><field name="OP">GT</field>
                                                            <value name="A"><block type="text_indexOf" id="1U@JW)[zh*2sRglj8#?U"><field name="END">FIRST</field>
                                                                <value name="VALUE"><block type="variables_get" id="gghJh|e[+__H=3i6;*TH"><field name="VAR">text</field></block></value> 
                                                                <value name="FIND"><shadow type="text" id="bdgm[S`4d-%iR?ZY%3bu"><field name="TEXT">küchenlicht</field></shadow></value></block></value> 
                                                            <value name="B"><block type="math_number" id="jhLmvcW4Q5}%N/#PP]Io"><field name="NUM">0</field></block></value></block></value> 
                                                        <value name="B"><block type="logic_compare" id=";%3gW8JsXF%;fjPV*@%1"><field name="OP">GT</field>
                                                            <value name="A"><block type="text_indexOf" id="#Mj?]te`^{RPZ4EGtqyn"><field name="END">FIRST</field>
                                                                <value name="VALUE"><block type="variables_get" id="Kw]:hZ@e[O~p@XhaS+7Y"><field name="VAR">text</field></block></value> 
                                                                <value name="FIND"><shadow type="text" id="LIAD2W/xt;/C1SA8CN#y"><field name="TEXT">licht küche</field></shadow></value></block></value> 
                                                            <value name="B"><block type="math_number" id="2lM^JJK)Zzo8KjQ|eK69"><field name="NUM">0</field></block></value></block></value></block></value> 
                                                    <statement name="DO0"><block type="controls_if" id="%!sL%p#jl~2QslaBStmd"><mutation else="1"></mutation>
                                                        <value name="IF0"><block type="logic_operation" id="`xJ`:*q@z_tx6JKOh#6L" inline="false"><field name="OP">OR</field>
                                                            <value name="A"><block type="logic_compare" id="Cq`aiqwcbGM%W=w_?v43"><field name="OP">GT</field>
                                                                <value name="A"><block type="text_indexOf" id=";.%)#L,DMVk-w@K}z99v"><field name="END">FIRST</field>
                                                                    <value name="VALUE"><block type="variables_get" id="]:+f%==%7{_pu!5AZ5##"><field name="VAR">text</field></block></value> 
                                                                    <value name="FIND"><shadow type="text" id="J[zDwxD8Ga|Kkw8z5;UH"><field name="TEXT">an</field></shadow></value></block></value> 
                                                                <value name="B"><block type="math_number" id="_ppQyfIR`6@y07aD/0Uw"><field name="NUM">0</field></block></value></block></value> 
                                                            <value name="B"><block type="logic_compare" id=";@@lQ_p9IMyBeA/{DEE;"><field name="OP">GT</field>
                                                                <value name="A"><block type="text_indexOf" id="K@d:t06t=3Wjtr#.J[;v"><field name="END">FIRST</field>
                                                                    <value name="VALUE"><block type="variables_get" id="lv#9hwdjs81.,G@ASf62"><field name="VAR">text</field></block></value> 
                                                                    <value name="FIND"><shadow type="text" id="V//nngsjcm}Q:wMe)ibn"><field name="TEXT">ein</field></shadow></value></block></value> 
                                                                <value name="B"><block type="math_number" id="{IWGANE5]wt751`lS+I@"><field name="NUM">0</field></block></value></block></value></block></value> 
                                                        <statement name="DO0"><block type="control" id="?5f|;e[Zl;(5D~PgoNFL"><mutation delay_input="false"></mutation>
                                                            <field name="OID">hm-rpc.0.KEQ0198416.1.STATE</field>
                                                            <field name="WITH_DELAY">FALSE</field>
                                                            <value name="VALUE"><block type="logic_boolean" id="R7D=J;4`W=r8oFm?-I8U"><field name="BOOL">TRUE</field></block></value></block></statement> 
                                                        <statement name="ELSE"><block type="control" id="}W.nMB{6?xcpZsq:W4(S"><mutation delay_input="false"></mutation>
                                                            <field name="OID">hm-rpc.0.KEQ0198416.1.STATE</field>
                                                            <field name="WITH_DELAY">FALSE</field>
                                                            <value name="VALUE"><block type="logic_boolean" id="_z-MLpaup(_PKd/g2#V8"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement> 
                                                    <next><block type="controls_if" id="!5WwA6R.+M}]E]:T4b7c"><value name="IF0"><block type="logic_operation" id="~t4q/O/#X]6S{sXj0{R]" inline="false"><field name="OP">OR</field>
                                                            <value name="A"><block type="logic_compare" id="R3ObvYJtk?L8xyJ`Ol%j"><field name="OP">GT</field>
                                                                <value name="A"><block type="text_indexOf" id="k0fGQ{8rUsb.{=8,(:_h"><field name="END">FIRST</field>
                                                                    <value name="VALUE"><block type="variables_get" id="uLxacXmd`Q^wW.GwMtT1"><field name="VAR">text</field></block></value> 
                                                                    <value name="FIND"><shadow type="text" id="%w5uf:]eA@0W7F3[/F[5"><field name="TEXT">flur erdgeschoss</field></shadow></value></block></value> 
                                                                <value name="B"><block type="math_number" id="Z%B[WH=SC57[-LLpaj+{"><field name="NUM">0</field></block></value></block></value> 
                                                            <value name="B"><block type="logic_compare" id="~Ab@5fvo7nHA#A2iPS5S"><field name="OP">GT</field>
                                                                <value name="A"><block type="text_indexOf" id="T*HLLbx3,L|9Opp`=v[T"><field name="END">FIRST</field>
                                                                    <value name="VALUE"><block type="variables_get" id="GJ2WuheAND_DZ8reBxCb"><field name="VAR">text</field></block></value> 
                                                                    <value name="FIND"><shadow type="text" id="q{cbk#)~HjaifhR1pOp["><field name="TEXT">erdgeschoss flur</field></shadow></value></block></value> 
                                                                <value name="B"><block type="math_number" id="q-lI},4UJ94uJ_)D3VTz"><field name="NUM">0</field></block></value></block></value></block></value> 
                                                        <statement name="DO0"><block type="controls_if" id="=@iIzbc6=4hwfE-#E:V*"><mutation else="1"></mutation>
                                                            <value name="IF0"><block type="logic_operation" id="fW.!G;ZV5PsWjoJ`b8Aq" inline="false"><field name="OP">OR</field>
                                                                <value name="A"><block type="logic_compare" id="*dDF_nk64dz_fiE7`]YF"><field name="OP">GT</field>
                                                                    <value name="A"><block type="text_indexOf" id="zcuf`Rm[#=*Ki`}C@RWy"><field name="END">FIRST</field>
                                                                        <value name="VALUE"><block type="variables_get" id="*wRxTZ0,vQ_l#_,TYYIt"><field name="VAR">text</field></block></value> 
                                                                        <value name="FIND"><shadow type="text" id="0#mHG^99%}84;riFDrE9"><field name="TEXT">an</field></shadow></value></block></value> 
                                                                    <value name="B"><block type="math_number" id="0]4(q),_*M;Al:]W:dQn"><field name="NUM">0</field></block></value></block></value> 
                                                                <value name="B"><block type="logic_compare" id="q~]@lQ5`6n?:PbDzqI)*"><field name="OP">GT</field>
                                                                    <value name="A"><block type="text_indexOf" id="d*WJ.U7/6_?;}t!!%XMd"><field name="END">FIRST</field>
                                                                        <value name="VALUE"><block type="variables_get" id="~}u0dk(]1OM|O[iIrLuT"><field name="VAR">text</field></block></value> 
                                                                        <value name="FIND"><shadow type="text" id="|okOhLL=rRrp-YI7{/^:"><field name="TEXT">ein</field></shadow></value></block></value> 
                                                                    <value name="B"><block type="math_number" id="w?(LSTO?k7XZe;:KTciU"><field name="NUM">0</field></block></value></block></value></block></value> 
                                                            <statement name="DO0"><block type="control" id="C*^Pkf6Xp7;e-%2=9PZH"><mutation delay_input="false"></mutation>
                                                                <field name="OID">hm-rpc.2.000xxxxxxx.4.STATE</field>
                                                                <field name="WITH_DELAY">FALSE</field>
                                                                <value name="VALUE"><block type="logic_boolean" id="Z!Ry{%1-s8?ei=a8Wbdc"><field name="BOOL">TRUE</field></block></value></block></statement> 
                                                            <statement name="ELSE"><block type="control" id="SUBcmZk]n9IuX8ao9!c!"><mutation delay_input="false"></mutation>
                                                                <field name="OID">hm-rpc.2.000xxxxxx.4.STATE</field>
                                                                <field name="WITH_DELAY">FALSE</field>
                                                                <value name="VALUE"><block type="logic_boolean" id="AEj@2[0D^!fryA-z97A:"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement> 
                                                        <next><block type="controls_if" id="-u5;VP5*Q9%s(QHTUYu*"><value name="IF0"><block type="logic_compare" id="cA-yczj*q1@J-G7FmO!D"><field name="OP">GT</field>
                                                                <value name="A"><block type="text_indexOf" id="b-vYb`)UutQ6/[3IPlVK"><field name="END">FIRST</field>
                                                                    <value name="VALUE"><block type="variables_get" id="XB:v)Km.B*Q,*);=s#n#"><field name="VAR">text</field></block></value> 
                                                                    <value name="FIND"><shadow type="text" id="b9[~JDOjRF[|T*Avjg/8"><field name="TEXT">licht fernseher</field></shadow></value></block></value> 
                                                                <value name="B"><block type="math_number" id="kMyt_2))=W3eS:ZoV6~n"><field name="NUM">0</field></block></value></block></value> 
                                                            <statement name="DO0"><block type="control" id="P{p:-gRfJH.fo*d)ifRP"><mutation delay_input="false"></mutation>
                                                                <field name="OID">hue.0.Philips_hue.Fernseher.level</field>
                                                                <field name="WITH_DELAY">FALSE</field>
                                                                <value name="VALUE"><block type="variables_get" id="5@:7+PJF7=ZKKNA:]DFY"><field name="VAR">zahl</field></block></value></block></statement> 
                                                            <next><block type="controls_if" id="Pw1d|:+:-3H9|fS?U`Y3"><value name="IF0"><block type="logic_compare" id="?^j1/nA]pTO^A?kZZ%5]"><field name="OP">GT</field>
                                                                    <value name="A"><block type="text_indexOf" id="1)Hk^%KeLG@aFr;IlknM"><field name="END">FIRST</field>
                                                                        <value name="VALUE"><block type="variables_get" id="g/~3*hDz34`![!L#{e1h"><field name="VAR">text</field></block></value> 
                                                                        <value name="FIND"><shadow type="text" id="1H5*x0_++QKGasY5g[%4"><field name="TEXT">theke</field></shadow></value></block></value> 
                                                                    <value name="B"><block type="math_number" id="G5=vksP3?h8l|F_CJL=W"><field name="NUM">0</field></block></value></block></value> 
                                                                <statement name="DO0"><block type="control" id="J_[Y4W#kji5jnI|4kqNS"><mutation delay_input="false"></mutation>
                                                                    <field name="OID">hue.0.Philips_hue.Küchentheke.level</field>
                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                    <value name="VALUE"><block type="variables_get" id="rQ;5TpDEyW+]x]y-d,Y*"><field name="VAR">zahl</field></block></value></block></statement> 
                                                                <next><block type="controls_if" id="(wgZL-|oVid[*,S4p.GN"><value name="IF0"><block type="logic_compare" id="B[64N(t:I/Z6-bhr=e9="><field name="OP">GT</field>
                                                                        <value name="A"><block type="text_indexOf" id="i8@WEl)W(:?Q%)[u0KSX"><field name="END">FIRST</field>
                                                                            <value name="VALUE"><block type="variables_get" id="%ts|q4FyJm/5R%0sBBSZ"><field name="VAR">text</field></block></value> 
                                                                            <value name="FIND"><shadow type="text" id="ERhMxwEHp|Cild7HmeKi"><field name="TEXT">jalousie garten</field></shadow></value></block></value> 
                                                                        <value name="B"><block type="math_number" id="xgu/|crX9r:.FC0Qn:@w"><field name="NUM">0</field></block></value></block></value> 
                                                                    <statement name="DO0"><block type="control" id="oV5B.l~JJR!Vlh5q#A4V"><mutation delay_input="false"></mutation>
                                                                        <field name="OID">hm-rpc.0.KEQxxxxx.1.LEVEL</field>
                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                        <value name="VALUE"><block type="variables_get" id="6)%Tcv(C;22jQTw)QC.}"><field name="VAR">zahl</field></block></value> 
                                                                        <next><block type="control" id="UeHHllcGc[?xHHGOfBe8"><mutation delay_input="false"></mutation>
                                                                            <field name="OID">hm-rpc.0.JEQxxxxx.1.LEVEL</field>
                                                                            <field name="WITH_DELAY">FALSE</field>
                                                                            <value name="VALUE"><block type="variables_get" id="0Q-dJaUm^;xo^2l4=24+"><field name="VAR">zahl</field></block></value></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml> 
                                

                                Host: NUC8i3 mit Proxmox:

                                • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
                                • Slave: Pi4
                                1 Antwort Letzte Antwort
                                0
                                • M Offline
                                  M Offline
                                  maniac
                                  schrieb am zuletzt editiert von
                                  #135

                                  Danke Dir.

                                  Habe das jetzt zum Teil zum Testen mal bei mir angepasst, funktioniert aber noch nicht.

                                  Das Log sagt was von NaN

                                  javascript.0	2017-11-25 12:32:09.048	info	script.js.Licht.LichtGoogle: NaN
                                  javascript.0	2017-11-25 12:32:09.045	info	script.js.Licht.LichtGoogle: esszimmer licht an
                                  

                                  ! ` > <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">

                                  <block type="on_ext" id="EO-]]HP9{atW:1/lSdpj" x="13" y="13"><mutation items="1"></mutation>

                                  <field name="CONDITION">ne</field>

                                  <value name="OID0"><shadow type="field_oid" id="ds6CqNLiq,1L,_j8L+I:"><field name="oid">cloud.0.services.ifttt</field></shadow></value>

                                  <statement name="STATEMENT"><block type="variables_set" id=",d;a(,W7XZ`pzPQlWVtS"><field name="VAR">text</field>

                                  <value name="VALUE"><block type="text_changeCase" id="e7NkCOozlYeHjF7|nwrP"><field name="CASE">LOWERCASE</field>

                                  <value name="TEXT"><shadow type="text" id="d@K(K848wn-Dr;f{Xm"><field name="TEXT">abc</field></shadow>

                                  <block type="convert_tostring" id=")XU.rq/+2Os^GQE@1K]g"><value name="VALUE"><block type="get_value" id="}{@^rm-GCBfc,:A3=cL."><field name="ATTR">val</field>

                                  <field name="OID">cloud.0.services.ifttt</field></block></value></block></value></block></value>

                                  <next><block type="debug" id="xdJF8BW9hIYvAoSg=|u~"><field name="Severity">log</field>

                                  <value name="TEXT"><shadow type="text" id="Kire]]738QXYV/2ez9!="><field name="TEXT">test</field></shadow>

                                  <block type="variables_get" id="|DS5`0Vn]-ac_NG9u1SG"><field name="VAR">text</field></block></value>

                                  <next><block type="variables_set" id="[/`84elvb6c,nBmxY,0U"><field name="VAR">zahl</field>

                                  <value name="VALUE"><block type="convert_tonumber" id="HQgJ^%;n.7JS;Gh^TS@P"><value name="VALUE"><block type="text_join" id="Hx9j7#b7dq]gmJ.r=RSn"><mutation items="2"></mutation>

                                  <value name="ADD0"><block type="text_charAt" id="zUMRr#bMw].X}b{(^~D4"><mutation at="true"></mutation>

                                  <field name="WHERE">FROM_END</field>

                                  <value name="VALUE"><block type="variables_get" id="d%?bd=@ml5feNA(kS3f("><field name="VAR">text</field></block></value>

                                  <value name="AT"><block type="math_number" id="gCfCKV+LsIWT}}Mk}H(h"><field name="NUM">4</field></block></value></block></value>

                                  <value name="ADD1"><block type="text_charAt" id="wFt6O_..c2er{KCX8+bY"><mutation at="true"></mutation>

                                  <field name="WHERE">FROM_END</field>

                                  <value name="VALUE"><block type="variables_get" id="@,yTLlOEmvoL!sYDdaZG"><field name="VAR">text</field></block></value>

                                  <value name="AT"><block type="math_number" id="-*^O]TK:/K0{Oa/oQ#vI"><field name="NUM">3</field></block></value></block></value></block></value></block></value>

                                  <next><block type="debug" id="K~bH*H;vN3x473BnK:/3"><field name="Severity">log</field>

                                  <value name="TEXT"><shadow type="text" id="Kire]]738QXYV/2ez9!="><field name="TEXT">test</field></shadow>

                                  <block type="variables_get" id="6~N|sGt}l[h:{GzmZ:Gs"><field name="VAR">zahl</field></block></value>

                                  <next><block type="controls_if" id="E}a!X{%CX{8~z!H)TOcm"><value name="IF0"><block type="logic_operation" id="K-GxOU/Iw`GTp;Co.g(5" inline="false"><field name="OP">OR</field>

                                  <value name="A"><block type="logic_compare" id="}RTo2U3V=^=#,)hIHgG}"><field name="OP">GT</field>

                                  <value name="A"><block type="text_indexOf" id="1U@JW)[zh*2sRglj8#?U"><field name="END">FIRST</field>

                                  <value name="VALUE"><block type="variables_get" id="gghJh|e[+__H=3i6;*TH"><field name="VAR">text</field></block></value>

                                  <value name="FIND"><shadow type="text" id="bdgm[S`4d-%iR?ZY%3bu"><field name="TEXT">Esszimmer Licht</field></shadow></value></block></value>

                                  <value name="B"><block type="math_number" id="jhLmvcW4Q5}%N/#PP]Io"><field name="NUM">0</field></block></value></block></value>

                                  <value name="B"><block type="logic_compare" id=";%3gW8JsXF%;fjPV*@%1"><field name="OP">GT</field>

                                  <value name="A"><block type="text_indexOf" id="#Mj?]te`^{RPZ4EGtqyn"><field name="END">FIRST</field>

                                  <value name="VALUE"><block type="variables_get" id="Kw]:hZ@e[O~p@XhaS+7Y"><field name="VAR">text</field></block></value>

                                  <value name="FIND"><shadow type="text" id="LIAD2W/xt;/C1SA8CN#y"><field name="TEXT">Licht Esszimmer</field></shadow></value></block></value>

                                  <value name="B"><block type="math_number" id="2lM^JJK)Zzo8KjQ|eK69"><field name="NUM">0</field></block></value></block></value></block></value>

                                  <statement name="DO0"><block type="controls_if" id="%!sL%p#jl~2QslaBStmd"><mutation else="1"></mutation>

                                  <value name="IF0"><block type="logic_operation" id="xJ:*q@z_tx6JKOh#6L" inline="false"><field name="OP">OR</field>

                                  <value name="A"><block type="logic_compare" id="Cq`aiqwcbGM%W=w_?v43"><field name="OP">GT</field>

                                  <value name="A"><block type="text_indexOf" id=";.%)#L,DMVk-w@K}z99v"><field name="END">FIRST</field>

                                  <value name="VALUE"><block type="variables_get" id="]:+f%==%7{_pu!5AZ5##"><field name="VAR">text</field></block></value>

                                  <value name="FIND"><shadow type="text" id="J[zDwxD8Ga|Kkw8z5;UH"><field name="TEXT">an</field></shadow></value></block></value>

                                  <value name="B"><block type="math_number" id="_ppQyfIR`6@y07aD/0Uw"><field name="NUM">0</field></block></value></block></value>

                                  <value name="B"><block type="logic_compare" id=";@@lQ_p9IMyBeA/{DEE;"><field name="OP">GT</field>

                                  <value name="A"><block type="text_indexOf" id="K@d:t06t=3Wjtr#.J[;v"><field name="END">FIRST</field>

                                  <value name="VALUE"><block type="variables_get" id="lv#9hwdjs81.,G@ASf62"><field name="VAR">text</field></block></value>

                                  <value name="FIND"><shadow type="text" id="V//nngsjcm}Q:wMe)ibn"><field name="TEXT">ein</field></shadow></value></block></value>

                                  <value name="B"><block type="math_number" id="{IWGANE5]wt751`lS+I@"><field name="NUM">0</field></block></value></block></value></block></value>

                                  <statement name="DO0"><block type="control" id="?5f|;e[Zl;(5D~PgoNFL"><mutation delay_input="false"></mutation>

                                  <field name="OID">tradfri.0.L-65540.lightbulb.state</field>

                                  <field name="WITH_DELAY">FALSE</field>

                                  <value name="VALUE"><block type="logic_boolean" id="R7D=J;4`W=r8oFm?-I8U"><field name="BOOL">TRUE</field></block></value>

                                  <next><block type="control" id="JnqoX==OD98#u:3RPCSw"><mutation delay_input="false"></mutation>

                                  <field name="OID">tradfri.0.L-65540.lightbulb.brightness</field>

                                  <field name="WITH_DELAY">FALSE</field>

                                  <value name="VALUE"><block type="math_number" id=")@d-J/DdM6dhxVfJ?`B^"><field name="NUM">99</field></block></value>

                                  <next><block type="telegram" id="i~.d#`3,9sFvUb)1v]%h"><field name="INSTANCE">.0</field>

                                  <field name="LOG">log</field>

                                  <value name="MESSAGE"><shadow type="text" id="y?IIqcZL3at:]xugR=]("><field name="TEXT">GoogleLicht</field></shadow></value></block></next></block></next></block></statement>

                                  <statement name="ELSE"><block type="control" id="}W.nMB{6?xcpZsq:W4(S"><mutation delay_input="false"></mutation>

                                  <field name="OID">tradfri.0.L-65540.lightbulb.state</field>

                                  <field name="WITH_DELAY">FALSE</field>

                                  <value name="VALUE"><block type="logic_boolean" id="_z-MLpaup(_PKd/g2#V8"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement>

                                  <next><block type="controls_if" id="!5WwA6R.+M}]E]:T4b7c"><value name="IF0"><block type="logic_operation" id="~t4q/O/#X]6S{sXj0{R]" inline="false"><field name="OP">OR</field>

                                  <value name="A"><block type="logic_compare" id="R3ObvYJtk?L8xyJ`Ol%j"><field name="OP">GT</field>

                                  <value name="A"><block type="text_indexOf" id="k0fGQ{8rUsb.{=8,(:_h"><field name="END">FIRST</field>

                                  <value name="VALUE"><block type="variables_get" id="uLxacXmd`Q^wW.GwMtT1"><field name="VAR">text</field></block></value>

                                  <value name="FIND"><shadow type="text" id="%w5uf:]eA@0W7F3[/F[5"><field name="TEXT">sofalicht</field></shadow></value></block></value>

                                  <value name="B"><block type="math_number" id="Z%B[WH=SC57[-LLpaj+{"><field name="NUM">0</field></block></value></block></value>

                                  <value name="B"><block type="logic_compare" id="~Ab@5fvo7nHA#A2iPS5S"><field name="OP">GT</field>

                                  <value name="A"><block type="text_indexOf" id="T*HLLbx3,L|9Opp`=v[T"><field name="END">FIRST</field>

                                  <value name="VALUE"><block type="variables_get" id="GJ2WuheAND_DZ8reBxCb"><field name="VAR">text</field></block></value>

                                  <value name="FIND"><shadow type="text" id="q{cbk#)~HjaifhR1pOp["><field name="TEXT">licht sofa</field></shadow></value></block></value>

                                  <value name="B"><block type="math_number" id="q-lI},4UJ94uJ_)D3VTz"><field name="NUM">0</field></block></value></block></value></block></value>

                                  <statement name="DO0"><block type="controls_if" id="=@iIzbc6=4hwfE-#E:V*"><mutation else="1"></mutation>

                                  <value name="IF0"><block type="logic_operation" id="fW.!G;ZV5PsWjoJ`b8Aq" inline="false"><field name="OP">OR</field>

                                  <value name="A"><block type="logic_compare" id="*dDF_nk64dz_fiE7`]YF"><field name="OP">GT</field>

                                  <value name="A"><block type="text_indexOf" id="zcufRm[#=*Ki}C@RWy"><field name="END">FIRST</field>

                                  <value name="VALUE"><block type="variables_get" id="*wRxTZ0,vQ_l#_,TYYIt"><field name="VAR">text</field></block></value>

                                  <value name="FIND"><shadow type="text" id="0#mHG^99%}84;riFDrE9"><field name="TEXT">an</field></shadow></value></block></value>

                                  <value name="B"><block type="math_number" id="0]4(q),_*M;Al:]W:dQn"><field name="NUM">0</field></block></value></block></value>

                                  <value name="B"><block type="logic_compare" id="q~]@lQ5`6n?:PbDzqI)*"><field name="OP">GT</field>

                                  <value name="A"><block type="text_indexOf" id="d*WJ.U7/6_?;}t!!%XMd"><field name="END">FIRST</field>

                                  <value name="VALUE"><block type="variables_get" id="~}u0dk(]1OM|O[iIrLuT"><field name="VAR">text</field></block></value>

                                  <value name="FIND"><shadow type="text" id="|okOhLL=rRrp-YI7{/^:"><field name="TEXT">ein</field></shadow></value></block></value>

                                  <value name="B"><block type="math_number" id="w?(LSTO?k7XZe;:KTciU"><field name="NUM">0</field></block></value></block></value></block></value>

                                  <statement name="DO0"><block type="control" id="C*^Pkf6Xp7;e-%2=9PZH"><mutation delay_input="false"></mutation>

                                  <field name="OID">tradfri.0.VG-00001.state</field>

                                  <field name="WITH_DELAY">FALSE</field>

                                  <value name="VALUE"><block type="logic_boolean" id="Z!Ry{%1-s8?ei=a8Wbdc"><field name="BOOL">TRUE</field></block></value></block></statement>

                                  <statement name="ELSE"><block type="control" id="SUBcmZk]n9IuX8ao9!c!"><mutation delay_input="false"></mutation>

                                  <field name="OID">tradfri.0.VG-00001.state</field>

                                  <field name="WITH_DELAY">FALSE</field>

                                  <value name="VALUE"><block type="logic_boolean" id="AEj@2[0D^!fryA-z97A:"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement>

                                  <next><block type="controls_if" id="-u5;VP5Q9%s(QHTUYu"><value name="IF0"><block type="logic_compare" id="cA-yczj*q1@J-G7FmO!D"><field name="OP">GT</field>

                                  <value name="A"><block type="text_indexOf" id="b-vYb`)UutQ6/[3IPlVK"><field name="END">FIRST</field>

                                  <value name="VALUE"><block type="variables_get" id="XB:v)Km.BQ,);=s#n#"><field name="VAR">text</field></block></value>

                                  <value name="FIND"><shadow type="text" id="b9[~JDOjRF[|T*Avjg/8"><field name="TEXT">licht fernseher</field></shadow></value></block></value>

                                  <value name="B"><block type="math_number" id="kMyt_2))=W3eS:ZoV6~n"><field name="NUM">0</field></block></value></block></value>

                                  <statement name="DO0"><block type="control" id="P{p:-gRfJH.fo*d)ifRP"><mutation delay_input="false"></mutation>

                                  <field name="OID">sonoff.0.TV_Licht_Schalter.POWER</field>

                                  <field name="WITH_DELAY">FALSE</field>

                                  <value name="VALUE"><block type="logic_boolean" id="Os]qhJ4OJnLsYxz|NnJF"><field name="BOOL">TRUE</field></block></value></block></statement>

                                  <next><block type="controls_if" id="(wgZL-|oVid[*,S4p.GN"><value name="IF0"><block type="logic_compare" id="B[64N(t:I/Z6-bhr=e9="><field name="OP">GT</field>

                                  <value name="A"><block type="text_indexOf" id="i8@WEl)W(:?Q%)[u0KSX"><field name="END">FIRST</field>

                                  <value name="VALUE"><block type="variables_get" id="%ts|q4FyJm/5R%0sBBSZ"><field name="VAR">text</field></block></value>

                                  <value name="FIND"><shadow type="text" id="ERhMxwEHp|Cild7HmeKi"><field name="TEXT">esszimmer jalousie</field></shadow></value></block></value>

                                  <value name="B"><block type="math_number" id="xgu/|crX9r:.FC0Qn:@w"><field name="NUM">0</field></block></value></block></value>

                                  <statement name="DO0"><block type="control" id="oV5B.l~JJR!Vlh5q#A4V"><mutation delay_input="false"></mutation>

                                  <field name="OID">hm-rpc.0.OEQ0979481.1.LEVEL</field>

                                  <field name="WITH_DELAY">FALSE</field>

                                  <value name="VALUE"><block type="variables_get" id="6)%Tcv(C;22jQTw)QC.}"><field name="VAR">zahl</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml> `

                                  Hab mein Blockly mal angehängt.

                                  Wenn ich nun sage Google schalte Esszimmerlicht an, wird es auch erkannt, der State im Cloudadapter wird auch aktualisiert, aber irgendwie scheint das Skript nicht abzulaufen.

                                  Hab mir da mal eine Test nachricht eingebaut über Telegram.

                                  Die Jalousie kann ich mit Schalte Esszimmer jalousie auf x% hoch und runter fahren. Das funktioniert.

                                  Bekomme nur das Licht nicht an bisher.

                                  Und noch eine Frage gleich.

                                  Wenn ich jetzt noch mehr Lampen schalten will, muss ich das alles in diesem einen Script machen, oder kann ich mehrere anlegen um die Übersichtlichket zu bewahren?

                                  Und eins ist mir gerade noch aufgefallen. Jalousie funktioniert doch noch niocht 100%

                                  Wenn ich sage Jalousie auf 100%, fährt sie runter statt hoch. 20% ist auch zu 75% auch usw.. Da kommen irgendwie komischer werte an.

                                  Wie kann ich das prüfen was da bei den Jalousien ankommt? Bei ifttt im Cloudadapter kommen die richtigen Werte an.

                                  Nochmal Edit:

                                  Kann natürlich bei der Jalousie gucken was ankommt. Blöde Frage :)

                                  Aber habe da jetzt gesehen, dass nur 5% 7% 9% usw. ankommen.

                                  Gruß Frank…

                                  1 Antwort Letzte Antwort
                                  0
                                  • N Offline
                                    N Offline
                                    NightWatcher
                                    schrieb am zuletzt editiert von
                                    #136

                                    Ich habe nun den vormittag genutzt und auch mein Script gebaut, dass ich hier vorstellen möchte. Es arbeitet auch nur noch mit einem IFTTT Applet (wie das von MrLee http://forum.iobroker.net/viewtopic.php?p=96514#p96514 vorgestellt).

                                    Javascript:

                                    ! ````
                                    on({id: "cloud.0.services.ifttt"}, function(obj) {
                                    var value = obj.state.val;
                                    var oldValue = obj.oldState.val;

                                    // get all Rooms as Array
                                    var rooms = getEnums('rooms');
                                    // get all Functions as Array
                                    var funcs = getEnums('functions');
                                    
                                    rooms.forEach(function(room)
                                    {
                                        // Now we know the Room
                                        if(value.toLowerCase().indexOf(room.name.toLowerCase()) > -1)
                                        {
                                            funcs.forEach(function(func)
                                            {
                                                // Now we know the Function
                                                if(value.toLowerCase().indexOf(func.name.toLowerCase()) > -1)
                                                {
                                                    //get all Objects
                                                    var objects = $('state(functions='+func.name.toLowerCase()+')(rooms='+room.name.toLowerCase()+')');
                                                    if(objects.length > 0)
                                                    {
                                                        objects.each(function(val)
                                                        {
                                                            var obj = getObject(val);
                                    
                                                            switch(obj.common.role)
                                                            {
                                                                case 'button':
                                                                    var state = true;
                                                                    if(value.toLowerCase().indexOf('aus') > -1)
                                                                        state = false;
                                    
                                                                    setState(obj._id, state);
                                                                    break;
                                                                case 'level':
                                                                    var num = 255;
                                                                    if(value.toLowerCase().indexOf('aus') > -1)
                                                                        num = 0;
                                    
                                                                    setState(obj._id, num);
                                                                    break;
                                                            }
                                                        });
                                                    }
                                                }
                                    
                                                return;
                                            });
                                            return;
                                        }
                                    });
                                    

                                    });

                                    
                                    Ich muss nun quasi nur sagen "Ok Google, schalte Küchenlicht an". Und alle Lampen in der Küche (die eben dieser Aufzählung zugeordnet sind) werden eingeschaltet. Dies kann man nun beliebig fortführen.
                                    
                                    Es arbeitet mit den Aufzählungen und ist daher sehr dynamisch gehalten. Es ist auch noch sehr am Anfang, aber in meinen Augen eine prima Basis, wenn man nicht jedes Objekt im Javascript einzeln auflisten möchte 8-)

                                    Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                                    1 Antwort Letzte Antwort
                                    0
                                    • lobomauL Offline
                                      lobomauL Offline
                                      lobomau
                                      schrieb am zuletzt editiert von
                                      #137

                                      @maniac:

                                      Danke Dir.

                                      Habe das jetzt zum Teil zum Testen mal bei mir angepasst, funktioniert aber noch nicht.

                                      Das Log sagt was von NaN

                                      javascript.0	2017-11-25 12:32:09.048	info	script.js.Licht.LichtGoogle: NaN
                                      javascript.0	2017-11-25 12:32:09.045	info	script.js.Licht.LichtGoogle: esszimmer licht an
                                      

                                      ! ` > <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">

                                      <block type="on_ext" id="EO-]]HP9{atW:1/lSdpj" x="13" y="13"><mutation items="1"></mutation>

                                      <field name="CONDITION">ne</field>

                                      <value name="OID0"><shadow type="field_oid" id="ds6CqNLiq,1L,_j8L+I:"><field name="oid">cloud.0.services.ifttt</field></shadow></value>

                                      <statement name="STATEMENT"><block type="variables_set" id=",d;a(,W7XZ`pzPQlWVtS"><field name="VAR">text</field>

                                      <value name="VALUE"><block type="text_changeCase" id="e7NkCOozlYeHjF7|nwrP"><field name="CASE">LOWERCASE</field>

                                      <value name="TEXT"><shadow type="text" id="d@K(K848wn-Dr;f{Xm"><field name="TEXT">abc</field></shadow>

                                      <block type="convert_tostring" id=")XU.rq/+2Os^GQE@1K]g"><value name="VALUE"><block type="get_value" id="}{@^rm-GCBfc,:A3=cL."><field name="ATTR">val</field>

                                      <field name="OID">cloud.0.services.ifttt</field></block></value></block></value></block></value>

                                      <next><block type="debug" id="xdJF8BW9hIYvAoSg=|u~"><field name="Severity">log</field>

                                      <value name="TEXT"><shadow type="text" id="Kire]]738QXYV/2ez9!="><field name="TEXT">test</field></shadow>

                                      <block type="variables_get" id="|DS5`0Vn]-ac_NG9u1SG"><field name="VAR">text</field></block></value>

                                      <next><block type="variables_set" id="[/`84elvb6c,nBmxY,0U"><field name="VAR">zahl</field>

                                      <value name="VALUE"><block type="convert_tonumber" id="HQgJ^%;n.7JS;Gh^TS@P"><value name="VALUE"><block type="text_join" id="Hx9j7#b7dq]gmJ.r=RSn"><mutation items="2"></mutation>

                                      <value name="ADD0"><block type="text_charAt" id="zUMRr#bMw].X}b{(^~D4"><mutation at="true"></mutation>

                                      <field name="WHERE">FROM_END</field>

                                      <value name="VALUE"><block type="variables_get" id="d%?bd=@ml5feNA(kS3f("><field name="VAR">text</field></block></value>

                                      <value name="AT"><block type="math_number" id="gCfCKV+LsIWT}}Mk}H(h"><field name="NUM">4</field></block></value></block></value>

                                      <value name="ADD1"><block type="text_charAt" id="wFt6O_..c2er{KCX8+bY"><mutation at="true"></mutation>

                                      <field name="WHERE">FROM_END</field>

                                      <value name="VALUE"><block type="variables_get" id="@,yTLlOEmvoL!sYDdaZG"><field name="VAR">text</field></block></value>

                                      <value name="AT"><block type="math_number" id="-*^O]TK:/K0{Oa/oQ#vI"><field name="NUM">3</field></block></value></block></value></block></value></block></value>

                                      <next><block type="debug" id="K~bH*H;vN3x473BnK:/3"><field name="Severity">log</field>

                                      <value name="TEXT"><shadow type="text" id="Kire]]738QXYV/2ez9!="><field name="TEXT">test</field></shadow>

                                      <block type="variables_get" id="6~N|sGt}l[h:{GzmZ:Gs"><field name="VAR">zahl</field></block></value>

                                      <next><block type="controls_if" id="E}a!X{%CX{8~z!H)TOcm"><value name="IF0"><block type="logic_operation" id="K-GxOU/Iw`GTp;Co.g(5" inline="false"><field name="OP">OR</field>

                                      <value name="A"><block type="logic_compare" id="}RTo2U3V=^=#,)hIHgG}"><field name="OP">GT</field>

                                      <value name="A"><block type="text_indexOf" id="1U@JW)[zh*2sRglj8#?U"><field name="END">FIRST</field>

                                      <value name="VALUE"><block type="variables_get" id="gghJh|e[+__H=3i6;*TH"><field name="VAR">text</field></block></value>

                                      <value name="FIND"><shadow type="text" id="bdgm[S`4d-%iR?ZY%3bu"><field name="TEXT">Esszimmer Licht</field></shadow></value></block></value>

                                      <value name="B"><block type="math_number" id="jhLmvcW4Q5}%N/#PP]Io"><field name="NUM">0</field></block></value></block></value>

                                      <value name="B"><block type="logic_compare" id=";%3gW8JsXF%;fjPV*@%1"><field name="OP">GT</field>

                                      <value name="A"><block type="text_indexOf" id="#Mj?]te`^{RPZ4EGtqyn"><field name="END">FIRST</field>

                                      <value name="VALUE"><block type="variables_get" id="Kw]:hZ@e[O~p@XhaS+7Y"><field name="VAR">text</field></block></value>

                                      <value name="FIND"><shadow type="text" id="LIAD2W/xt;/C1SA8CN#y"><field name="TEXT">Licht Esszimmer</field></shadow></value></block></value>

                                      <value name="B"><block type="math_number" id="2lM^JJK)Zzo8KjQ|eK69"><field name="NUM">0</field></block></value></block></value></block></value>

                                      <statement name="DO0"><block type="controls_if" id="%!sL%p#jl~2QslaBStmd"><mutation else="1"></mutation>

                                      <value name="IF0"><block type="logic_operation" id="xJ:*q@z_tx6JKOh#6L" inline="false"><field name="OP">OR</field>

                                      <value name="A"><block type="logic_compare" id="Cq`aiqwcbGM%W=w_?v43"><field name="OP">GT</field>

                                      <value name="A"><block type="text_indexOf" id=";.%)#L,DMVk-w@K}z99v"><field name="END">FIRST</field>

                                      <value name="VALUE"><block type="variables_get" id="]:+f%==%7{_pu!5AZ5##"><field name="VAR">text</field></block></value>

                                      <value name="FIND"><shadow type="text" id="J[zDwxD8Ga|Kkw8z5;UH"><field name="TEXT">an</field></shadow></value></block></value>

                                      <value name="B"><block type="math_number" id="_ppQyfIR`6@y07aD/0Uw"><field name="NUM">0</field></block></value></block></value>

                                      <value name="B"><block type="logic_compare" id=";@@lQ_p9IMyBeA/{DEE;"><field name="OP">GT</field>

                                      <value name="A"><block type="text_indexOf" id="K@d:t06t=3Wjtr#.J[;v"><field name="END">FIRST</field>

                                      <value name="VALUE"><block type="variables_get" id="lv#9hwdjs81.,G@ASf62"><field name="VAR">text</field></block></value>

                                      <value name="FIND"><shadow type="text" id="V//nngsjcm}Q:wMe)ibn"><field name="TEXT">ein</field></shadow></value></block></value>

                                      <value name="B"><block type="math_number" id="{IWGANE5]wt751`lS+I@"><field name="NUM">0</field></block></value></block></value></block></value>

                                      <statement name="DO0"><block type="control" id="?5f|;e[Zl;(5D~PgoNFL"><mutation delay_input="false"></mutation>

                                      <field name="OID">tradfri.0.L-65540.lightbulb.state</field>

                                      <field name="WITH_DELAY">FALSE</field>

                                      <value name="VALUE"><block type="logic_boolean" id="R7D=J;4`W=r8oFm?-I8U"><field name="BOOL">TRUE</field></block></value>

                                      <next><block type="control" id="JnqoX==OD98#u:3RPCSw"><mutation delay_input="false"></mutation>

                                      <field name="OID">tradfri.0.L-65540.lightbulb.brightness</field>

                                      <field name="WITH_DELAY">FALSE</field>

                                      <value name="VALUE"><block type="math_number" id=")@d-J/DdM6dhxVfJ?`B^"><field name="NUM">99</field></block></value>

                                      <next><block type="telegram" id="i~.d#`3,9sFvUb)1v]%h"><field name="INSTANCE">.0</field>

                                      <field name="LOG">log</field>

                                      <value name="MESSAGE"><shadow type="text" id="y?IIqcZL3at:]xugR=]("><field name="TEXT">GoogleLicht</field></shadow></value></block></next></block></next></block></statement>

                                      <statement name="ELSE"><block type="control" id="}W.nMB{6?xcpZsq:W4(S"><mutation delay_input="false"></mutation>

                                      <field name="OID">tradfri.0.L-65540.lightbulb.state</field>

                                      <field name="WITH_DELAY">FALSE</field>

                                      <value name="VALUE"><block type="logic_boolean" id="_z-MLpaup(_PKd/g2#V8"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement>

                                      <next><block type="controls_if" id="!5WwA6R.+M}]E]:T4b7c"><value name="IF0"><block type="logic_operation" id="~t4q/O/#X]6S{sXj0{R]" inline="false"><field name="OP">OR</field>

                                      <value name="A"><block type="logic_compare" id="R3ObvYJtk?L8xyJ`Ol%j"><field name="OP">GT</field>

                                      <value name="A"><block type="text_indexOf" id="k0fGQ{8rUsb.{=8,(:_h"><field name="END">FIRST</field>

                                      <value name="VALUE"><block type="variables_get" id="uLxacXmd`Q^wW.GwMtT1"><field name="VAR">text</field></block></value>

                                      <value name="FIND"><shadow type="text" id="%w5uf:]eA@0W7F3[/F[5"><field name="TEXT">sofalicht</field></shadow></value></block></value>

                                      <value name="B"><block type="math_number" id="Z%B[WH=SC57[-LLpaj+{"><field name="NUM">0</field></block></value></block></value>

                                      <value name="B"><block type="logic_compare" id="~Ab@5fvo7nHA#A2iPS5S"><field name="OP">GT</field>

                                      <value name="A"><block type="text_indexOf" id="T*HLLbx3,L|9Opp`=v[T"><field name="END">FIRST</field>

                                      <value name="VALUE"><block type="variables_get" id="GJ2WuheAND_DZ8reBxCb"><field name="VAR">text</field></block></value>

                                      <value name="FIND"><shadow type="text" id="q{cbk#)~HjaifhR1pOp["><field name="TEXT">licht sofa</field></shadow></value></block></value>

                                      <value name="B"><block type="math_number" id="q-lI},4UJ94uJ_)D3VTz"><field name="NUM">0</field></block></value></block></value></block></value>

                                      <statement name="DO0"><block type="controls_if" id="=@iIzbc6=4hwfE-#E:V*"><mutation else="1"></mutation>

                                      <value name="IF0"><block type="logic_operation" id="fW.!G;ZV5PsWjoJ`b8Aq" inline="false"><field name="OP">OR</field>

                                      <value name="A"><block type="logic_compare" id="*dDF_nk64dz_fiE7`]YF"><field name="OP">GT</field>

                                      <value name="A"><block type="text_indexOf" id="zcufRm[#=*Ki}C@RWy"><field name="END">FIRST</field>

                                      <value name="VALUE"><block type="variables_get" id="*wRxTZ0,vQ_l#_,TYYIt"><field name="VAR">text</field></block></value>

                                      <value name="FIND"><shadow type="text" id="0#mHG^99%}84;riFDrE9"><field name="TEXT">an</field></shadow></value></block></value>

                                      <value name="B"><block type="math_number" id="0]4(q),_*M;Al:]W:dQn"><field name="NUM">0</field></block></value></block></value>

                                      <value name="B"><block type="logic_compare" id="q~]@lQ5`6n?:PbDzqI)*"><field name="OP">GT</field>

                                      <value name="A"><block type="text_indexOf" id="d*WJ.U7/6_?;}t!!%XMd"><field name="END">FIRST</field>

                                      <value name="VALUE"><block type="variables_get" id="~}u0dk(]1OM|O[iIrLuT"><field name="VAR">text</field></block></value>

                                      <value name="FIND"><shadow type="text" id="|okOhLL=rRrp-YI7{/^:"><field name="TEXT">ein</field></shadow></value></block></value>

                                      <value name="B"><block type="math_number" id="w?(LSTO?k7XZe;:KTciU"><field name="NUM">0</field></block></value></block></value></block></value>

                                      <statement name="DO0"><block type="control" id="C*^Pkf6Xp7;e-%2=9PZH"><mutation delay_input="false"></mutation>

                                      <field name="OID">tradfri.0.VG-00001.state</field>

                                      <field name="WITH_DELAY">FALSE</field>

                                      <value name="VALUE"><block type="logic_boolean" id="Z!Ry{%1-s8?ei=a8Wbdc"><field name="BOOL">TRUE</field></block></value></block></statement>

                                      <statement name="ELSE"><block type="control" id="SUBcmZk]n9IuX8ao9!c!"><mutation delay_input="false"></mutation>

                                      <field name="OID">tradfri.0.VG-00001.state</field>

                                      <field name="WITH_DELAY">FALSE</field>

                                      <value name="VALUE"><block type="logic_boolean" id="AEj@2[0D^!fryA-z97A:"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement>

                                      <next><block type="controls_if" id="-u5;VP5Q9%s(QHTUYu"><value name="IF0"><block type="logic_compare" id="cA-yczj*q1@J-G7FmO!D"><field name="OP">GT</field>

                                      <value name="A"><block type="text_indexOf" id="b-vYb`)UutQ6/[3IPlVK"><field name="END">FIRST</field>

                                      <value name="VALUE"><block type="variables_get" id="XB:v)Km.BQ,);=s#n#"><field name="VAR">text</field></block></value>

                                      <value name="FIND"><shadow type="text" id="b9[~JDOjRF[|T*Avjg/8"><field name="TEXT">licht fernseher</field></shadow></value></block></value>

                                      <value name="B"><block type="math_number" id="kMyt_2))=W3eS:ZoV6~n"><field name="NUM">0</field></block></value></block></value>

                                      <statement name="DO0"><block type="control" id="P{p:-gRfJH.fo*d)ifRP"><mutation delay_input="false"></mutation>

                                      <field name="OID">sonoff.0.TV_Licht_Schalter.POWER</field>

                                      <field name="WITH_DELAY">FALSE</field>

                                      <value name="VALUE"><block type="logic_boolean" id="Os]qhJ4OJnLsYxz|NnJF"><field name="BOOL">TRUE</field></block></value></block></statement>

                                      <next><block type="controls_if" id="(wgZL-|oVid[*,S4p.GN"><value name="IF0"><block type="logic_compare" id="B[64N(t:I/Z6-bhr=e9="><field name="OP">GT</field>

                                      <value name="A"><block type="text_indexOf" id="i8@WEl)W(:?Q%)[u0KSX"><field name="END">FIRST</field>

                                      <value name="VALUE"><block type="variables_get" id="%ts|q4FyJm/5R%0sBBSZ"><field name="VAR">text</field></block></value>

                                      <value name="FIND"><shadow type="text" id="ERhMxwEHp|Cild7HmeKi"><field name="TEXT">esszimmer jalousie</field></shadow></value></block></value>

                                      <value name="B"><block type="math_number" id="xgu/|crX9r:.FC0Qn:@w"><field name="NUM">0</field></block></value></block></value>

                                      <statement name="DO0"><block type="control" id="oV5B.l~JJR!Vlh5q#A4V"><mutation delay_input="false"></mutation>

                                      <field name="OID">hm-rpc.0.OEQ0979481.1.LEVEL</field>

                                      <field name="WITH_DELAY">FALSE</field>

                                      <value name="VALUE"><block type="variables_get" id="6)%Tcv(C;22jQTw)QC.}"><field name="VAR">zahl</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml> `

                                      Hab mein Blockly mal angehängt.

                                      Wenn ich nun sage Google schalte Esszimmerlicht an, wird es auch erkannt, der State im Cloudadapter wird auch aktualisiert, aber irgendwie scheint das Skript nicht abzulaufen.

                                      Hab mir da mal eine Test nachricht eingebaut über Telegram.

                                      Die Jalousie kann ich mit Schalte Esszimmer jalousie auf x% hoch und runter fahren. Das funktioniert.

                                      Bekomme nur das Licht nicht an bisher.

                                      Und noch eine Frage gleich.

                                      Wenn ich jetzt noch mehr Lampen schalten will, muss ich das alles in diesem einen Script machen, oder kann ich mehrere anlegen um die Übersichtlichket zu bewahren?

                                      Und eins ist mir gerade noch aufgefallen. Jalousie funktioniert doch noch niocht 100%

                                      Wenn ich sage Jalousie auf 100%, fährt sie runter statt hoch. 20% ist auch zu 75% auch usw.. Da kommen irgendwie komischer werte an.

                                      Wie kann ich das prüfen was da bei den Jalousien ankommt? Bei ifttt im Cloudadapter kommen die richtigen Werte an.

                                      Nochmal Edit:

                                      Kann natürlich bei der Jalousie gucken was ankommt. Blöde Frage :)

                                      Aber habe da jetzt gesehen, dass nur 5% 7% 9% usw. ankommen. `
                                      Das NaN ist kein Fehler. Das kommt wenn man mit dem Script AN-AUS schaltet, denn er versucht trotzdem aus 3. und 4. Zeichen von hinten eine Zahl zu extrahieren. Jalousie geht bei mir korrekt. Hast du auch homematic Aktoren?

                                      Kannst mehrere Scripte machen für die Übersichtlichkeit.

                                      Host: NUC8i3 mit Proxmox:

                                      • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
                                      • Slave: Pi4
                                      1 Antwort Letzte Antwort
                                      0
                                      • M Offline
                                        M Offline
                                        maniac
                                        schrieb am zuletzt editiert von
                                        #138

                                        @lobomau:

                                        Das NaN ist kein Fehler. Das kommt wenn man mit dem Script AN-AUS schaltet, denn er versucht trotzdem aus 3. und 4. Zeichen von hinten eine Zahl zu extrahieren. Jalousie geht bei mir korrekt. Hast du auch homematic Aktoren?

                                        Kannst mehrere Scripte machen für die Übersichtlichkeit. `

                                        Ja, habe Homematic.

                                        Gruß Frank…

                                        1 Antwort Letzte Antwort
                                        0
                                        • M Offline
                                          M Offline
                                          maniac
                                          schrieb am zuletzt editiert von
                                          #139

                                          Habe es jetzt nach mehrfachen Probieren zum laufen bekommen.

                                          Licht geht an/aus ich kann es dimmen (Mit Hey Google, schalte Esszimmerlicht auf 50% z.B.)

                                          Jalousie fährt jetzt richtig hoch und runter.

                                          Aber alles nur mit "schalte".

                                          @lobomau:

                                          Habe gerade festgestellt, dass der GH nur noch auf das ifttt applet reagiert, also egal was ich jetzt sage, "wie ist das Wetter", "Spiele Radio", "Stopp"… er reagiert nicht, sondern antwortet nur mit der Antwort wie im Applet eingestellt. So kann ich Lieder nur über spotify handy app abspielen. Geht natürlich gar nicht so... :o `

                                          Das habe ich bei mir auch eben festgestellt als ich "Dimme", "Fahre" und "Stelle" in IFTTT eingebaut habe. Sobald ich ein zweites IFTTT mit anderem Aktivierungswort aktiviere, reagiert Google nur noch mit IFTTT.

                                          Alles was ich sage "Spiele Musik" landet im IOB im ifttt.

                                          Gibt da ne Lösung? Ist das ein Bug?

                                          Gruß Frank…

                                          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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          391

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          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