Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter Linux Control v1.x.x

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Test Adapter Linux Control v1.x.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      CruziX @mading last edited by CruziX

      @mading wenn ich mich recht erinnere, musst du rechts wo Zeichenkette steht auf Button stellen, damit du es selbst ausführen kannst. Mit Text wird in dem eingetragen Intervall (bei dir nichts) der Befehl ausgeführt und der Response im DP angezeigt.
      Was du machen könntest:
      Dein Skript schreibt den response in eine extra datei und diese legst du mit Zeichenkette zusätzlich an.

      M 1 Reply Last reply Reply Quote 0
      • M
        mading @CruziX last edited by

        @cruzix Danke dir. Es gab wohl ein Update des Adapters, da execute schon ein Button war. Ich habe mir nun ein Blockly geschrieben, was gesteuert über einen Bool Datenpunkt (den ich über vis auf true setzen kann) die Werte in die linuxcontrol Datenpunkte schreibt und dann ausführt.

        Da linux-control.0.command.response ziemlich viel Output bei meinem Update Skript beinhaltet, habe nutze ich einen zusätzlichen Datenpunkt um mir im vis anzeigen zu lassen, dass das Update angestoßen wurde.

        Falls es jemand braucht, hier das Blockly (habe drei Pi's laufen: PiHole, grafana und iobroker):

        <xml xmlns="https://developers.google.com/blockly/xml">
          <variables>
            <variable id="AD=:h/*UlYL~Nu_H:,[C">host</variable>
            <variable id="PUl~wCQcq.!;=8qeymb;">command</variable>
            <variable id="bLbQL0X!L.pVcz,#/A@g">CommandSkript</variable>
            <variable id="Iycddol~.DlZ%5fGi?mg">hostSkript</variable>
          </variables>
          <block type="on_ext" id="U~!~kHu+`lMnD(x}tJ#a" x="-562" y="-837">
            <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
            <field name="CONDITION">true</field>
            <field name="ACK_CONDITION"></field>
            <value name="OID0">
              <shadow type="field_oid" id="p5`QB{r4J);C6}E6UA|*">
                <field name="oid">javascript.0.scriptEnabled.EigeneDatenpunkte.LinuxControl.UpdateGrafana</field>
              </shadow>
            </value>
            <statement name="STATEMENT">
              <block type="variables_set" id="+hZr(ME.B7W::AlqaapM">
                <field name="VAR" id="bLbQL0X!L.pVcz,#/A@g">CommandSkript</field>
                <value name="VALUE">
                  <block type="text" id=",@`4UBm|UB-6c0Qy/C6d">
                    <field name="TEXT">sudo -S /home/pi/update.sh</field>
                  </block>
                </value>
                <next>
                  <block type="variables_set" id="J5t)%rxpvgjv,ZeKGrmZ">
                    <field name="VAR" id="Iycddol~.DlZ%5fGi?mg">hostSkript</field>
                    <value name="VALUE">
                      <block type="text" id="-[*[}z8ZirC(13++T+F,">
                        <field name="TEXT">grafana</field>
                      </block>
                    </value>
                    <next>
                      <block type="procedures_callnoreturn" id="q^z$CJx62U`]gpcf+lIh">
                        <mutation name="LinuxControlSkriptExec">
                          <arg name="host"></arg>
                          <arg name="command"></arg>
                        </mutation>
                        <value name="ARG0">
                          <block type="variables_get" id="yV!Sz!)Md?0aoH5{kchx">
                            <field name="VAR" id="Iycddol~.DlZ%5fGi?mg">hostSkript</field>
                          </block>
                        </value>
                        <value name="ARG1">
                          <block type="variables_get" id="i(Uvx%|01LBu+_kmHTG)">
                            <field name="VAR" id="bLbQL0X!L.pVcz,#/A@g">CommandSkript</field>
                          </block>
                        </value>
                        <next>
                          <block type="update" id="H`O}l-JJF{iA.TOTuzP;">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                            <field name="OID">javascript.0.scriptEnabled.EigeneDatenpunkte.LinuxControl.GrafanaResponse</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="text" id="k|me=mf#-!*=xFppb2U$">
                                <field name="TEXT">Grafana Update initiiert</field>
                              </block>
                            </value>
                            <next>
                              <block type="update" id="q=f(?Q8-y{Qa9g~hzx^K">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                <field name="OID">javascript.0.scriptEnabled.EigeneDatenpunkte.LinuxControl.UpdateGrafana</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="logic_boolean" id="|mPk=kT2H~h$YR?Duei+">
                                    <field name="BOOL">FALSE</field>
                                  </block>
                                </value>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </statement>
          </block>
          <block type="procedures_defnoreturn" id="aT?Yf*|i99[Vm5rZ1Sak" x="38" y="-562">
            <mutation>
              <arg name="host" varid="AD=:h/*UlYL~Nu_H:,[C"></arg>
              <arg name="command" varid="PUl~wCQcq.!;=8qeymb;"></arg>
            </mutation>
            <field name="NAME">LinuxControlSkriptExec</field>
            <comment pinned="false" h="80" w="160">führt einen Befehl auf den RPis aus</comment>
            <statement name="STACK">
              <block type="comment" id="1owMY2ToymI9rSzQx@0^">
                <field name="COMMENT">Werte für Befehl ausführen und Befehl ausführen</field>
                <next>
                  <block type="update" id="3C0U,%(gl_9YX%l_`g/%">
                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                    <field name="OID">linux-control.0.command.host</field>
                    <field name="WITH_DELAY">FALSE</field>
                    <value name="VALUE">
                      <block type="variables_get" id="2;CDbC*Tb)8+lP{poz!i">
                        <field name="VAR" id="AD=:h/*UlYL~Nu_H:,[C">host</field>
                      </block>
                    </value>
                    <next>
                      <block type="update" id="AWFCUuD7EsOCkT4m/Iv9">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                        <field name="OID">linux-control.0.command.command</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                          <block type="variables_get" id="9J20~hgv2clzUTMkh`n%">
                            <field name="VAR" id="PUl~wCQcq.!;=8qeymb;">command</field>
                          </block>
                        </value>
                        <next>
                          <block type="update" id="8flJijFX$uD/v*YGP+PR">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                            <field name="OID">linux-control.0.command.execute</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="logic_boolean" id="X}1Bs:3+;[6SrBs2-3,z">
                                <field name="BOOL">TRUE</field>
                              </block>
                            </value>
                            <next>
                              <block type="comment" id=",D|7KGb,ma#UYzc$^1^Z">
                                <field name="COMMENT">Response leeren</field>
                                <next>
                                  <block type="controls_if" id="O48i[H67W2%%zQYL.CP;">
                                    <value name="IF0">
                                      <block type="logic_compare" id="hoeB{TvxrGJX{%@WUr-i">
                                        <field name="OP">EQ</field>
                                        <value name="A">
                                          <block type="variables_get" id="#@=2APyqhUZhzD=i={nU">
                                            <field name="VAR" id="AD=:h/*UlYL~Nu_H:,[C">host</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="text" id="CxD/Hc%BB/~8CG[]p`b:">
                                            <field name="TEXT">grafana</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <statement name="DO0">
                                      <block type="update" id="*rk6L*=C2tVss{6t${fS">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                        <field name="OID">javascript.0.scriptEnabled.EigeneDatenpunkte.LinuxControl.GrafanaResponse</field>
                                        <field name="WITH_DELAY">TRUE</field>
                                        <field name="DELAY_MS">5000</field>
                                        <field name="UNIT">ms</field>
                                        <field name="CLEAR_RUNNING">FALSE</field>
                                        <value name="VALUE">
                                          <block type="text" id="AHTi2X7YZs?wecXK,(}Z">
                                            <field name="TEXT">-</field>
                                          </block>
                                        </value>
                                      </block>
                                    </statement>
                                    <next>
                                      <block type="controls_if" id="UEs}]GNe[`qNTOsAr`Z}">
                                        <value name="IF0">
                                          <block type="logic_compare" id=",~M9Nxb?G@I;0f!.SdGX">
                                            <field name="OP">EQ</field>
                                            <value name="A">
                                              <block type="variables_get" id="fnq-?,rO=klPM{zv.N@U">
                                                <field name="VAR" id="AD=:h/*UlYL~Nu_H:,[C">host</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="text" id="CEEFO/*Tz4]zU?~Nb2g[">
                                                <field name="TEXT">iobroker</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <statement name="DO0">
                                          <block type="update" id="qd}[3)^0(jc0z0`;mDT#">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                            <field name="OID">javascript.0.scriptEnabled.EigeneDatenpunkte.LinuxControl.IobrokerResponse</field>
                                            <field name="WITH_DELAY">TRUE</field>
                                            <field name="DELAY_MS">5000</field>
                                            <field name="UNIT">ms</field>
                                            <field name="CLEAR_RUNNING">FALSE</field>
                                            <value name="VALUE">
                                              <block type="text" id="Zn,]@U?-owk+;Sx=4V~/">
                                                <field name="TEXT">-</field>
                                              </block>
                                            </value>
                                          </block>
                                        </statement>
                                        <next>
                                          <block type="controls_if" id=",JSpU%3T6YAQ%aWJ5eZh">
                                            <value name="IF0">
                                              <block type="logic_compare" id="9i92b(d8Bj^KVGh[NlT}">
                                                <field name="OP">EQ</field>
                                                <value name="A">
                                                  <block type="variables_get" id="N.^_#8#I)@.x_#5u[5/0">
                                                    <field name="VAR" id="AD=:h/*UlYL~Nu_H:,[C">host</field>
                                                  </block>
                                                </value>
                                                <value name="B">
                                                  <block type="text" id="!XTnjX#R]0L^yu^~H*5T">
                                                    <field name="TEXT">iobroker</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                            <statement name="DO0">
                                              <block type="update" id="itsz6Lc0!eN.1aq-9]Bb">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                <field name="OID">javascript.0.scriptEnabled.EigeneDatenpunkte.LinuxControl.PiholeResponse</field>
                                                <field name="WITH_DELAY">TRUE</field>
                                                <field name="DELAY_MS">5000</field>
                                                <field name="UNIT">ms</field>
                                                <field name="CLEAR_RUNNING">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="text" id="*{$/]b]y64N!8jh4WX_Y">
                                                    <field name="TEXT">-</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </statement>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </statement>
          </block>
          <block type="on_ext" id="JRO@!Ea9]|DRRvh8![,7" x="-687" y="-512">
            <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
            <field name="CONDITION">true</field>
            <field name="ACK_CONDITION"></field>
            <value name="OID0">
              <shadow type="field_oid" id="(njGS_=]%[URJ]|C?hsi">
                <field name="oid">javascript.0.scriptEnabled.EigeneDatenpunkte.LinuxControl.UpdatePiHole</field>
              </shadow>
            </value>
            <statement name="STATEMENT">
              <block type="variables_set" id="m85ynl[#({4|;JYoA,Pc">
                <field name="VAR" id="bLbQL0X!L.pVcz,#/A@g">CommandSkript</field>
                <value name="VALUE">
                  <block type="text" id="PmGPi:NbfI6r+H_!gq0a">
                    <field name="TEXT">sudo -S /home/pi/noreboot.sh</field>
                  </block>
                </value>
                <next>
                  <block type="variables_set" id="yD{HjeHI@x=a.}t^vdNi">
                    <field name="VAR" id="Iycddol~.DlZ%5fGi?mg">hostSkript</field>
                    <value name="VALUE">
                      <block type="text" id="I3LIuGIL+s|Q*6,^]e@D">
                        <field name="TEXT">pihole</field>
                      </block>
                    </value>
                    <next>
                      <block type="procedures_callnoreturn" id="5d3j9WVDyUlCS)RPtZ}M">
                        <mutation name="LinuxControlSkriptExec">
                          <arg name="host"></arg>
                          <arg name="command"></arg>
                        </mutation>
                        <value name="ARG0">
                          <block type="variables_get" id="Zn~bmt0:zx`mjP9VKR%q">
                            <field name="VAR" id="Iycddol~.DlZ%5fGi?mg">hostSkript</field>
                          </block>
                        </value>
                        <value name="ARG1">
                          <block type="variables_get" id="gMaOmx/VYciJRso3!i}M">
                            <field name="VAR" id="bLbQL0X!L.pVcz,#/A@g">CommandSkript</field>
                          </block>
                        </value>
                        <next>
                          <block type="update" id="8M*569JuSLKlK~;)cLj7">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                            <field name="OID">javascript.0.scriptEnabled.EigeneDatenpunkte.LinuxControl.UpdatePiHole</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="text" id="1Z[F*Rvw`O*)z)*2Q32U">
                                <field name="TEXT">PiHole Update initiiert</field>
                              </block>
                            </value>
                            <next>
                              <block type="update" id="5C1fLg?5Ef~|pXX~i||.">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                <field name="OID">javascript.0.scriptEnabled.EigeneDatenpunkte.LinuxControl.UpdatePiHole</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="logic_boolean" id="(5bnr25{Wm@`z5BV[O@i">
                                    <field name="BOOL">FALSE</field>
                                  </block>
                                </value>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </statement>
          </block>
          <block type="on_ext" id="g[7MS~}8/oYSu(flXZ/:" x="-487" y="-112">
            <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
            <field name="CONDITION">true</field>
            <field name="ACK_CONDITION"></field>
            <value name="OID0">
              <shadow type="field_oid" id="YSlR,lpt_|(|T4G^@HkZ">
                <field name="oid">javascript.0.scriptEnabled.EigeneDatenpunkte.LinuxControl.UpdateIobroker</field>
              </shadow>
            </value>
            <statement name="STATEMENT">
              <block type="variables_set" id="ZRJ4:9Z9%Mc0|:Q]jqZ@">
                <field name="VAR" id="bLbQL0X!L.pVcz,#/A@g">CommandSkript</field>
                <value name="VALUE">
                  <block type="text" id="Ry0KEnUIr+lKULx/KMSI">
                    <field name="TEXT">sudo -S /home/pi/update.sh</field>
                  </block>
                </value>
                <next>
                  <block type="variables_set" id="B0mbyK^Q!/Zcy8-w4{`0">
                    <field name="VAR" id="Iycddol~.DlZ%5fGi?mg">hostSkript</field>
                    <value name="VALUE">
                      <block type="text" id="Y0ih{s6|d}o]c#o7H2Jt">
                        <field name="TEXT">iobroker</field>
                      </block>
                    </value>
                    <next>
                      <block type="procedures_callnoreturn" id="W@S,x3g~!:?ZR8.Y4_7=">
                        <mutation name="LinuxControlSkriptExec">
                          <arg name="host"></arg>
                          <arg name="command"></arg>
                        </mutation>
                        <value name="ARG0">
                          <block type="variables_get" id="!`$z=f^/f6]eNKq?x1X#">
                            <field name="VAR" id="Iycddol~.DlZ%5fGi?mg">hostSkript</field>
                          </block>
                        </value>
                        <value name="ARG1">
                          <block type="variables_get" id="AOpA*OlTsEcZs;}:%EW%">
                            <field name="VAR" id="bLbQL0X!L.pVcz,#/A@g">CommandSkript</field>
                          </block>
                        </value>
                        <next>
                          <block type="update" id="FW#x-lpiMVb/nO_*St/}">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                            <field name="OID">javascript.0.scriptEnabled.EigeneDatenpunkte.LinuxControl.IobrokerResponse</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="text" id="f!NEpM[[Zk*D#Pv^Q;~b">
                                <field name="TEXT">IoBroker Update initiiert</field>
                              </block>
                            </value>
                            <next>
                              <block type="update" id="U4Mpu}3nC?H2:9q7oXNb">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                <field name="OID">javascript.0.scriptEnabled.EigeneDatenpunkte.LinuxControl.UpdateIobroker</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="logic_boolean" id="^r^}CTB%5*KZV9AXHEp*">
                                    <field name="BOOL">FALSE</field>
                                  </block>
                                </value>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </statement>
          </block>
        </xml>
        
        1 Reply Last reply Reply Quote 0
        • H
          haumichel last edited by haumichel

          Hallo zusammen,

          ich möchte mit diesem Adapter auf meinem PiHole eine DB Abfrage starten um sie dann im ioBroker weiter zu verarbeiten.
          Ich kriege es aber nicht hin, die folgende Abfrage im Adapter zum Laufen zu kriegen:

          sqlite3 /etc/pihole/pihole-FTL.db "SELECT domain FROM queries WHERE timestamp BETWEEN strftime('%s','now','-1 day','start of day') and strftime ('%s','now','start of day') GROUP BY domain ORDER BY count(domain) DESC LIMIT 1;"
          
          

          Die Abfrage funktioniert auf dem PiHole gut. Wenn ich sie allerdings im Adapter unter "meine Befehle" eintrage, passiert entweder gar nichts oder es gibt Fehlermeldungen im Log.

          konsole_lc.png

          befehle_lc.png

          Der Datenpunkt unter Objects bleibt auf jeden Fall immer leer.

          dp_lc.png

          fehler_lc.png

          Was genau muss ich tun um die auf der Konsole ausgegbene Webseite in den entsprechenden Datenpunkt zu bekommen?

          Vielen Dank

          Scrounger H 2 Replies Last reply Reply Quote 0
          • Scrounger
            Scrounger Developer @haumichel last edited by

            @haumichel
            Versuch Mal die ' und " zu escapen

            H 1 Reply Last reply Reply Quote 0
            • H
              haumichel @Scrounger last edited by

              @scrounger
              Was genau bedeutet escapen?

              1 Reply Last reply Reply Quote 0
              • Negalein
                Negalein Global Moderator last edited by

                Hallo

                Ich möchte mit dem Adapter einen Raspberry 4 herunterfahren.
                Der DP dazu wurde mir angelegt.
                User & PWD sind im Adapter eingetragen.

                Betätige ich den Button, bekomm ich folgende Fehlermeldung.

                2021-05-16 18:58:19.437  - info: linux-control.0 (15297) state linux-control.0.Octoprint.control.shutdown changed: true (ack = false)
                2021-05-16 18:58:19.873  - error: linux-control.0 (15297) [cmdShutdown] Octoprint (10.0.1.182:22): response error:  bash: shutdown: Kommando nicht gefunden., stack: ResponseError: [cmdShutdown] Octoprint (10.0.1.182:22): bash: shutdown: Kommando nicht gefunden.
                    at LinuxControl.sendCommand (/opt/iobroker/node_modules/iobroker.linux-control/main.js:874:26)
                    at processTicksAndRejections (internal/process/task_queues.js:97:5)
                    at LinuxControl.cmdShutdown (/opt/iobroker/node_modules/iobroker.linux-control/main.js:634:5)
                    at LinuxControl.onStateChange (/opt/iobroker/node_modules/iobroker.linux-control/main.js:1092:8)
                

                Was muss ich machen, damit das funktioniert?

                Danke

                Scrounger 1 Reply Last reply Reply Quote 0
                • Scrounger
                  Scrounger Developer @Negalein last edited by

                  @negalein
                  Shutdown geht meines Wissen nach nur als Riot oder mit sudo.

                  Negalein 1 Reply Last reply Reply Quote 0
                  • Negalein
                    Negalein Global Moderator @Scrounger last edited by

                    @scrounger sagte in Test Adapter Linux Control v1.x.x:

                    Shutdown geht meines Wissen nach nur als Riot oder mit sudo.

                    Ja, das stimmt.
                    Muss ich das im Adapter dann anders konfigurieren?

                    Scrounger 1 Reply Last reply Reply Quote 0
                    • Scrounger
                      Scrounger Developer @Negalein last edited by

                      @negalein
                      Ja beim Host den Haken bei sudo setzen. Verwendeter User muss sudo nutzen können.

                      Negalein 1 Reply Last reply Reply Quote 1
                      • Negalein
                        Negalein Global Moderator @Scrounger last edited by

                        @scrounger sagte in Test Adapter Linux Control v1.x.x:

                        Ja beim Host den Haken bei sudo setzen. Verwendeter User muss sudo nutzen können.

                        Cool, danke, funktioniert.

                        Jetzt kann ich den Raspi sehr einfach übers Blockly gür Octoprint herunterfahren.

                        1 Reply Last reply Reply Quote 0
                        • H
                          haumichel @haumichel last edited by

                          @haumichel sagte in Test Adapter Linux Control v1.x.x:

                          Hallo zusammen,

                          ich möchte mit diesem Adapter auf meinem PiHole eine DB Abfrage starten um sie dann im ioBroker weiter zu verarbeiten.
                          Ich kriege es aber nicht hin, die folgende Abfrage im Adapter zum Laufen zu kriegen:

                          sqlite3 /etc/pihole/pihole-FTL.db "SELECT domain FROM queries WHERE timestamp BETWEEN strftime('%s','now','-1 day','start of day') and strftime ('%s','now','start of day') GROUP BY domain ORDER BY count(domain) DESC LIMIT 1;"
                          
                          

                          Die Abfrage funktioniert auf dem PiHole gut. Wenn ich sie allerdings im Adapter unter "meine Befehle" eintrage, passiert entweder gar nichts oder es gibt Fehlermeldungen im Log.

                          konsole_lc.png

                          befehle_lc.png

                          Der Datenpunkt unter Objects bleibt auf jeden Fall immer leer.

                          dp_lc.png

                          fehler_lc.png

                          Was genau muss ich tun um die auf der Konsole ausgegbene Webseite in den entsprechenden Datenpunkt zu bekommen?

                          Vielen Dank

                          Hallo zusammen,
                          die Abfrage läuft nun schon seit Monaten sehr stabil. Dafür schon mal vielen Dank.
                          Nun möchte ich mein PiHole in einem Container auf der DiskStation laufen lassen und komm da dann nicht mehr so einfach per ssh ran. Wenn ich die Abfrage manuell über das Terminal eingebe funktioniert es. Ich weiß aber nicht wie ich diesen Befehl, der zweimal eine Passworteingabe erfordert, über den Adapter absetzen kann.
                          Hier ist mal die komplette manuelle Ein- und Ausgabe:

                          Mac:~ noname$ ssh Admin@192.168.178.5
                          Admin@192.168.178.5's password: 
                          Admin@DiskStation:~$ sudo docker exec -it pihole sqlite3 /etc/pihole/pihole-FTL.db "SELECT domain,count(domain) FROM queries WHERE timestamp BETWEEN strftime('%s','now','-1 day','start of day') and strftime ('%s','now','start of day') GROUP BY domain ORDER BY count(domain) DESC LIMIT 3;"
                          Password: 
                          msg.volkswagen.de|1828
                          api-global.netflix.com|747
                          lcprd1.samsungcloudsolution.net|360
                          Admin@DiskStation:~$ 
                          

                          Das Passwort wird das erste mal bei Anmeldung an der DiskStation, das zweite mal beim Abschicken der Abfrage angefordert.
                          Wie kann ich das über den Adapter realisieren?

                          Vielen Dank.

                          Scrounger 1 Reply Last reply Reply Quote 0
                          • Scrounger
                            Scrounger Developer @haumichel last edited by Scrounger

                            @haumichel
                            Anstatt sudo musst du sudo -S in dem Befehl verwenden

                            H 1 Reply Last reply Reply Quote 0
                            • H
                              haumichel @Scrounger last edited by

                              @scrounger
                              Hallo scrounger,
                              das hat leider nicht funktioniert. Es kommt, auch bei Eingabe von sudo -S noch die Passwortabfrage.
                              Ich weiß auch nicht, wie ich die erste Anmeldung an der DiskStation in den Befehl einbaue. Eigentlich bin ich ein ziemlicher Noob....

                              DiskAdmin@DiskStation:~$ sudo -S docker exec -it pihole sqlite3 /etc/pihole/pihole-FTL.db "SELECT domain,count(domain) FROM queries WHERE timestamp BETWEEN strftime('%s','now','-1 day','start of day') and strftime ('%s','now','start of day') GROUP BY domain ORDER BY count(domain) DESC LIMIT 3;"
                              Password: 
                              

                              Vielen Dank

                              Thomas Braun 1 Reply Last reply Reply Quote 0
                              • Thomas Braun
                                Thomas Braun Most Active @haumichel last edited by

                                @haumichel

                                sudo -S Passwort Befehl
                                
                                H 1 Reply Last reply Reply Quote 0
                                • H
                                  haumichel @Thomas Braun last edited by

                                  @thomas-braun
                                  Hallo Thomas,
                                  das hat leider auch nicht fuktioniert.

                                  Admin@DiskStation:~$ sudo -S meinpasswort docker exec -it pihole sqlite3 /etc/pihole/pihole-FTL.db "SELECT domain,count(domain) FROM queries WHERE timestamp BETWEEN strftime('%s','now','-1 day','start of day') and strftime ('%s','now','start of day') GROUP BY domain ORDER BY count(domain) DESC LIMIT 3;"
                                  Password: 
                                  sudo: meinpasswort: command not found
                                  Admin@DiskStation:~$ 
                                  

                                  Die Passwortabfrage kommt trotzdem. Wenn ich es dann eingebe, wird es nicht angenommen.

                                  Scrounger 1 Reply Last reply Reply Quote 0
                                  • Scrounger
                                    Scrounger Developer @haumichel last edited by

                                    @haumichel
                                    Erklär doch mal bitte genau was du machen möchtest.

                                    Du hast die Diskstation, auf der läuft PiHole im Docker container?
                                    Warum ist der Docker container nicht im netzwerk erreichbar bzw. du musst wahrscheinlich für den docker den ssh zugriff freigeben?

                                    Du willst unter meine Befehle als z.B. button per Linux Control Adapter den Befehl

                                    sudo docker exec -it pihole sqlite3 /etc/pihole/pihole-FTL.db "SELECT domain,count(domain) FROM queries WHERE timestamp BETWEEN strftime('%s','now','-1 day','start of day') and strftime ('%s','now','start of day') GROUP BY domain ORDER BY count(domain) DESC LIMIT 3;"
                                    

                                    abstezen?

                                    H 1 Reply Last reply Reply Quote 0
                                    • H
                                      haumichel @Scrounger last edited by haumichel

                                      @scrounger
                                      Also.
                                      Bisher lief das PiHole auf einem Raspberry mit eigener IP bei mir im Netzwerk. Ich habe über den Adapter folgenden Befehl ausgeführt und das Ergebnis in einen DP geschrieben.

                                      sqlite3 /etc/pihole/pihole-FTL.db "SELECT domain,count(domain) FROM queries WHERE timestamp BETWEEN strftime('%s','now','-1 day','start of day') and strftime ('%s','now','start of day') GROUP BY domain ORDER BY count(domain) DESC LIMIT 3;"
                                      

                                      Das hat sehr gut funktioniert.
                                      Jetzt läuft das PiHole auf der Synology Diskstation im Dockercontainer im Host Netz. Das Pihole ist über die IP-Adresse der DS erreichbar. Als DNS-Server im Netzwerk funktioniert das auch sehr gut. Einzig die Abfrage vom Adapter funktioniert nicht mehr.
                                      Um mich via Terminal am PiHole anzumelden muss ich erst eine ssh Verbindung zur DS aufbauen

                                      Mac:~ noname$ ssh Admin@192.168.178.5
                                      Admin@192.168.178.5's password: 
                                      Admin@DiskStation:~$ 
                                      

                                      um dann per docker exec befehl z.B. die Abfrage absetzen zu können.

                                      Admin@DiskStation:~$ sudo docker exec -it pihole sqlite3 /etc/pihole/pihole-FTL.db "SELECT domain,count(domain) FROM queries WHERE timestamp BETWEEN strftime('%s','now','-1 day','start of day') and strftime ('%s','now','start of day') GROUP BY domain ORDER BY count(domain) DESC LIMIT 3;"
                                      Password: 
                                      msg.volkswagen.de|1828
                                      api-global.netflix.com|747
                                      lcprd1.samsungcloudsolution.net|360
                                      Admin@DiskStation:~$ 
                                      

                                      Wie gesagt, im Terminal klappt das, ich muss aber 2 mal manuell das Passwort eingeben.
                                      Ich weiß nicht wie ich das alles in einem Befehl verpacken kann, der dann via Adapter/meine Befehle losgeschickt wird. Die Abfrage läuft Zeitgesteuert einamal am Tag.

                                      Vielen Dank

                                      Scrounger 1 Reply Last reply Reply Quote 0
                                      • Scrounger
                                        Scrounger Developer @haumichel last edited by

                                        @haumichel

                                        Gehe ich richtig in der Annahme das das Passwort das gleiche ist?
                                        Dann müsste es mit sudo -S gehen. Erstell mal unter meine Befehle einen Button, der dann deinen befehl mit sudo -S ausführt. Beim host den haken bei nutze sudo setzen.

                                        Wenn es nicht geht, mal den adapter auf debug stellen, den Button drücken und danach das vollständige log posten, dann sieht man was der Adapter als antwort bekommt bzw. überhaupt macht.

                                        H 1 Reply Last reply Reply Quote 0
                                        • H
                                          haumichel @Scrounger last edited by

                                          @scrounger
                                          Ja, das Passwort ist das gleiche.
                                          Ich habe einen neuen Host erstellt, IP von der DS, Benutzer und Passwort vom DS-Admin, Sudo nutzen ist angehakt.
                                          Unter meine Befehle habe ich folgenden Befehl verwendet und als Button getriggert:

                                          sudo -S meinpasswort docker exec -it pihole sqlite3 /etc/pihole/pihole-FTL.db "SELECT domain,count(domain) FROM queries WHERE timestamp BETWEEN strftime('%s','now','-1 day','start of day') and strftime ('%s','now','start of day') GROUP BY domain ORDER BY count(domain) DESC LIMIT 3;"
                                          

                                          Beim Klick auf den Button wird folgendes ins Log geschrieben:

                                          linux-control.0	2021-07-06 07:49:19.543	info	(2833) successful received data from PiHoleDS (192.168.178.5:22)
                                          linux-control.0	2021-07-06 07:49:19.385	info	(2833) getting data from PiHoleDS (192.168.178.5:22)
                                          linux-control.0	2021-07-06 07:49:19.383	info	(2833) state linux-control.0.PiHoleDS.refresh changed: true (ack = false)
                                          

                                          Im DP ist dieses hier zu finden:

                                          Password: sudo: meinpasswort: command not found
                                          
                                          Scrounger 1 Reply Last reply Reply Quote 0
                                          • Scrounger
                                            Scrounger Developer @haumichel last edited by

                                            @haumichel
                                            Adapter auf debug stellen! Und dann nochmal das Log Posten.
                                            Und meinpasswort nicht mit in den Befehl nur sudo -S, der Adapter setzt dann das Passwort wenn er gefragt wird.

                                            H 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            730
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter control hardware linux steuern
                                            64
                                            656
                                            131157
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo