NEWS
Text in Base64 codieren und Datei von Netzlaufwerk suchen
-
@fastfoot Danke, das hilft schonmal sehr viel. Habe aber noch das Problem wie ich auf
/media/hdd/AdvancedEventLibrary/cover/
Komme, das ist das Verzeichniss meiner Vu+ Box. Die Box ist in ioBroker nur mit dem Enigma2 Adapter verbunden.
-
Ist immer wieder erstaunlich, wie lang diese Blocklys sind:
console.log(Buffer.from("Z3VhcmRpYW5zIG9mIHRoZSBnYWxheHkgdm9sLiAy", 'base64').toString('ascii'));
-
@armilar Verstehe ich nicht. Muss doch erst den Original Text in Kleinbuchstaben umwandeln und den dann in Base64 codieren.
@all
So habe ich die Box auf einer anderen Box gemountet. Wie kann ich das jetzt in ioBroker machen. ioBroker läuft bei mir als VM in Proxmox<cifs> <mount> <active>True</active> <hdd_replacement>False</hdd_replacement> <ip>192.168.0.90</ip> <sharename>VUUNO4KSE</sharename> <sharedir>Harddisk</sharedir> <options>rw</options> <username>username</username> <password>password</password> <mount_system>autofs</mount_system> </mount> </cifs>
Bis hier funktioniert soweit das Blockly
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="8;HpY]B2OxIN[kdORi-N">text</variable> <variable id="u+mE0j_ZSEIC7C5U$t5h">cover</variable> <variable id="xLn/#U__],S7chRg;8|f">b64</variable> <variable id="}::%ssNR6x.*%p5dXe;X">pfad</variable> </variables> <block type="procedures_defcustomreturn" id="?=Ght)|4a^y+NM^zYle." x="62" y="38"> <mutation statements="false"> <arg name="text" varid="8;HpY]B2OxIN[kdORi-N"></arg> </mutation> <field name="NAME">encode</field> <field name="SCRIPT">cmV0dXJuIEJ1ZmZlci5mcm9tKHRleHQpLnRvU3RyaW5nKCdiYXNlNjQnKTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomreturn" id="Iodb:IxRxNP!s`/!v3)?" x="63" y="63"> <mutation statements="false"> <arg name="text" varid="8;HpY]B2OxIN[kdORi-N"></arg> </mutation> <field name="NAME">decode</field> <field name="SCRIPT">cmV0dXJuIEJ1ZmZlci5mcm9tKHRleHQsJ2Jhc2U2NCcpLnRvU3RyaW5nKCd1dGY4Jyk7</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="on_ext" id=";BQ]hK-$BEtMZZ4tgV@O" x="38" y="113"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="`)(YH7idz`2PrRnxQUxg"> <field name="oid">enigma2.0.enigma2.PROGRAMM</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="g^5.h*(*]0_nqmg[wRxH"> <field name="VAR" id="u+mE0j_ZSEIC7C5U$t5h">cover</field> <value name="VALUE"> <block type="text_changeCase" id="HA|TL!COs9cF!|6oNh7!"> <field name="CASE">LOWERCASE</field> <value name="TEXT"> <shadow type="text" id="U[4nc?On@l%8e-nHUYX_"> <field name="TEXT">abc</field> </shadow> <block type="get_value" id="1W(:w+PscF40i{,+m|%K"> <field name="ATTR">val</field> <field name="OID">enigma2.0.enigma2.PROGRAMM</field> </block> </value> </block> </value> <next> <block type="variables_set" id="QszkP[4Nizg/fDtBww`Q"> <field name="VAR" id="xLn/#U__],S7chRg;8|f">b64</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="p7|Y?YW|q;N!s%E=k`lq" inline="true"> <mutation name="encode"> <arg name="text"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="b@80qrRs|+hN72O=jHln"> <field name="VAR" id="u+mE0j_ZSEIC7C5U$t5h">cover</field> </block> </value> </block> </value> <next> <block type="variables_set" id="!gB}Q]POG(3$CjWbLpt5"> <field name="VAR" id="8;HpY]B2OxIN[kdORi-N">text</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="+f,Ibj@iy(ON!Eeyu#pE" inline="true"> <mutation name="decode"> <arg name="text"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="^Y66h3Kir=,,ax^nE%#f"> <field name="VAR" id="xLn/#U__],S7chRg;8|f">b64</field> </block> </value> </block> </value> <next> <block type="variables_set" id="]eSeI7=%3a),QIMc|3$J"> <field name="VAR" id="}::%ssNR6x.*%p5dXe;X">pfad</field> <value name="VALUE"> <block type="text_join" id="eI)24{)OJmyLTw5_HhmQ"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="FKr2Mj?/yu8tc-LJhe9%"> <field name="TEXT">/media/hdd/AdvancedEventLibrary/cover/</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="XpM,P786cfc.bD0P-69g"> <field name="VAR" id="xLn/#U__],S7chRg;8|f">b64</field> </block> </value> <value name="ADD2"> <block type="text" id="_.raL^Q`azDem*Vm^M+i"> <field name="TEXT">.jpg</field> </block> </value> </block> </value> <next> <block type="debug" id="mWdUp_h/%vZCKta7i37/" inline="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="i?gGvfN}OAZqzJr=Z!L%"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id=".G.W].MtuFq|y5T%+^rF"> <field name="VAR" id="u+mE0j_ZSEIC7C5U$t5h">cover</field> </block> </value> <next> <block type="debug" id="~KlN^Lx4XN2rUzXYJToc" inline="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="i?gGvfN}OAZqzJr=Z!L%"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="cHCV_bj|j`iqlpH=mww`"> <field name="VAR" id="xLn/#U__],S7chRg;8|f">b64</field> </block> </value> <next> <block type="debug" id="cC:Z=[Nu#d+kf0RXZz=3" inline="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="i?gGvfN}OAZqzJr=Z!L%"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="cZ.r6CGJHp^,[+=h_7R_"> <field name="VAR" id="8;HpY]B2OxIN[kdORi-N">text</field> </block> </value> <next> <block type="debug" id="v;TV6+Xg$T:|X/*-j|2N" inline="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="i?gGvfN}OAZqzJr=Z!L%"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="i;CEywOS#6*f`_N389|_"> <field name="VAR" id="}::%ssNR6x.*%p5dXe;X">pfad</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
-
Jetzt mit toLowerCase (Hatte die vorher noch nicht)
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="8;HpY]B2OxIN[kdORi-N">text</variable> <variable id="u+mE0j_ZSEIC7C5U$t5h">cover</variable> <variable id="xLn/#U__],S7chRg;8|f">b64</variable> <variable id="}::%ssNR6x.*%p5dXe;X">pfad</variable> </variables> <block type="procedures_defcustomreturn" id="rY;j^;~*L]2/F7RXQ:vP" x="63" y="12"> <mutation statements="false"> <arg name="text" varid="8;HpY]B2OxIN[kdORi-N"></arg> </mutation> <field name="NAME">lowCase</field> <field name="SCRIPT">cmV0dXJuIHRleHQudG9Mb3dlckNhc2UoKTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomreturn" id="?=Ght)|4a^y+NM^zYle." x="62" y="38"> <mutation statements="false"> <arg name="text" varid="8;HpY]B2OxIN[kdORi-N"></arg> </mutation> <field name="NAME">encode</field> <field name="SCRIPT">cmV0dXJuIEJ1ZmZlci5mcm9tKHRleHQpLnRvU3RyaW5nKCdiYXNlNjQnKTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomreturn" id="Iodb:IxRxNP!s`/!v3)?" x="63" y="63"> <mutation statements="false"> <arg name="text" varid="8;HpY]B2OxIN[kdORi-N"></arg> </mutation> <field name="NAME">decode</field> <field name="SCRIPT">cmV0dXJuIEJ1ZmZlci5mcm9tKHRleHQsJ2Jhc2U2NCcpLnRvU3RyaW5nKCd1dGY4Jyk7</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="variables_set" id="g^5.h*(*]0_nqmg[wRxH" x="63" y="88"> <field name="VAR" id="u+mE0j_ZSEIC7C5U$t5h">cover</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="w?SQy@+y*Ql0~VC/6/v."> <mutation name="lowCase"> <arg name="text"></arg> </mutation> <value name="ARG0"> <block type="text" id="ke8i-7n!ZN[JTeQ6:j[M"> <field name="TEXT">Guardians of the Galaxy Vol. 2</field> </block> </value> </block> </value> <next> <block type="variables_set" id="QszkP[4Nizg/fDtBww`Q"> <field name="VAR" id="xLn/#U__],S7chRg;8|f">b64</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="p7|Y?YW|q;N!s%E=k`lq" inline="true"> <mutation name="encode"> <arg name="text"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="b@80qrRs|+hN72O=jHln"> <field name="VAR" id="u+mE0j_ZSEIC7C5U$t5h">cover</field> </block> </value> </block> </value> <next> <block type="variables_set" id="!gB}Q]POG(3$CjWbLpt5"> <field name="VAR" id="8;HpY]B2OxIN[kdORi-N">text</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="+f,Ibj@iy(ON!Eeyu#pE" inline="true"> <mutation name="decode"> <arg name="text"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="^Y66h3Kir=,,ax^nE%#f"> <field name="VAR" id="xLn/#U__],S7chRg;8|f">b64</field> </block> </value> </block> </value> <next> <block type="variables_set" id="]eSeI7=%3a),QIMc|3$J"> <field name="VAR" id="}::%ssNR6x.*%p5dXe;X">pfad</field> <value name="VALUE"> <block type="text_join" id="eI)24{)OJmyLTw5_HhmQ"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="FKr2Mj?/yu8tc-LJhe9%"> <field name="TEXT">/media/hdd/AdvancedEventLibrary/cover/</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="XpM,P786cfc.bD0P-69g"> <field name="VAR" id="u+mE0j_ZSEIC7C5U$t5h">cover</field> </block> </value> </block> </value> <next> <block type="debug" id="mWdUp_h/%vZCKta7i37/" inline="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="i?gGvfN}OAZqzJr=Z!L%"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id=".G.W].MtuFq|y5T%+^rF"> <field name="VAR" id="u+mE0j_ZSEIC7C5U$t5h">cover</field> </block> </value> <next> <block type="debug" id="~KlN^Lx4XN2rUzXYJToc" inline="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="i?gGvfN}OAZqzJr=Z!L%"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="cHCV_bj|j`iqlpH=mww`"> <field name="VAR" id="xLn/#U__],S7chRg;8|f">b64</field> </block> </value> <next> <block type="debug" id="cC:Z=[Nu#d+kf0RXZz=3" inline="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="i?gGvfN}OAZqzJr=Z!L%"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="cZ.r6CGJHp^,[+=h_7R_"> <field name="VAR" id="8;HpY]B2OxIN[kdORi-N">text</field> </block> </value> <next> <block type="debug" id="v;TV6+Xg$T:|X/*-j|2N" inline="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="i?gGvfN}OAZqzJr=Z!L%"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="i;CEywOS#6*f`_N389|_"> <field name="VAR" id="}::%ssNR6x.*%p5dXe;X">pfad</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
Okay die letzte hatte es - sorry
-
@chris76e sagte in Text in Base64 codieren und Datei von Netzlaufwerk suchen:
Wie kann ich das jetzt in ioBroker machen
ich würde die Box ja mit nfs einbinden(wird empfohlen), aber da du deine Settings auf cifs/smb eingestellt hast sollte das auf der Konsole der VM so gehen, erstmal nur händisch
sudo -u iobroker mkdir -p /home/iobroker/vubox sudo mount -t cifs -o username=user,password=password,rw,file_mode=0777,dir_mode=0777 //192.168.0.90/VUUNO4KSE/Harddisk /home/iobroker/vubox
-
@fastfoot
kommt dieser Fehlermount: bad usage
@fastfoot sagte in Text in Base64 codieren und Datei von Netzlaufwerk suchen:
ich würde die Box ja mit nfs einbinden(wird empfohlen
Bin offen für alles
-
@chris76e mach mal das Leerzeichen vor password weg
-
mount error(22): Invalid argument Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)
habe schon mit smbpasswd das passwort geändert, box neugestartet......
-
so sieht die smb.conf auf der Box aus
#config version:3.6.25-vti001 [global] guest account = root security = user map to guest = bad user server string = VTi/Vu+ network shares at %h workgroup = VuPlus socket options = TCP_NODELAY smb passwd file = /etc/samba/private/smbpasswd encrypt passwords = yes passdb backend = smbpasswd idmap backend = smbpasswd obey pam restrictions = no unix extensions = no wide links = yes unix charset = utf-8 max stat cache size = 64 null passwords = yes [rootfs] comment = Do not touch ! path = / read only = no public = yes guest ok = yes valid users = root force create mode = 600 force directory mode = 700 force security mode = 600 force directory security mode = 700 [Harddisk] comment = The harddisk path = /media/hdd read only = no public = yes guest ok = yes valid users = root force create mode = 600 force directory mode = 700 force security mode = 600 force directory security mode = 700 [VMC] comment = VMC path = /media/VMC read only = no public = yes guest ok = yes
-
@chris76e username und passwort hast du aber geändert?
-
Leider hilft dir der Pfad auf deine nas so erst mal nicht, wenn du das Bild im Browser anzeigen lassen möchtest.
Deinem Browser kann so nicht auf das Laufwerk zugreifen.
Jetzt könnte man das über ioBroker machen, allerdings ist es da etwas aufwändig, da man die Datei erst einmal zum Web Server hochladen muss.
Daher schlage ich vor, dass du einen neuen Web Server einrichtest (Nginx bietet sich da an ).
Dieser Web Server ist so konfiguriert, dass er nur dieses eine Verzeichnis anbietet.
So musst du in vis einfach nur die URL so berechnen, dass sie auf die URL des jeweiligen Bildes zeigt. Wie du vom Film Namen zur Base 64 Bezeichnung kommst, haben wir die vorschreiber schon dargestellt -
@oliverio sagte in Text in Base64 codieren und Datei von Netzlaufwerk suchen:
werk zugreifen.
aber auch nginx braucht die Datei ja erstmal lokal? deshalb der mount
-
@fastfoot
Je nachdem wo man am besten nginx laufen lässt.
Ja wahrscheinlich erst per Mount auf die eine Maschine,
Dort dann nginx installieren und einrichten. -
Das ist eine VU+ Box, ein Enigma2 Sat Receiver
Glaube nicht das da ein Webserver drauf läuft..... Möchte ja nur einfach die Datei davon laden können.
-
@chris76e sagte in Text in Base64 codieren und Datei von Netzlaufwerk suchen:
mount error(22): Invalid argument Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)
habe schon mit smbpasswd das passwort geändert, box neugestartet......
nimm mal noch das hier weg
,file_mode=0777,dir_mode=0777
-
-
@oliverio sagte in Text in Base64 codieren und Datei von Netzlaufwerk suchen:
Leider hilft dir der Pfad auf deine nas so erst mal nicht, wenn du das Bild im Browser anzeigen lassen möchtest.
Deinem Browser kann so nicht auf das Laufwerk zugreifen.Hmm, dachte wenn ich den Mount von der VU+ auf meinem ioBroker habe das ich dann einfach die Datei laden kann als ob die lokal im ioBroker liegt.
Ist das nicht so?
-
Ich lese, das es für Enigma vu+ ein webinterface / openwebif gibt
Wenn man über dieses webinterface schafft die Bilder anzeigen zu lassen, dann hast du deinen Webserver.
Dann musst du in vis nur noch die URLs so einbauen, das sie auf das webinterface zeigen. -
@chris76e seltsam, mit proxmox vm kenne ich mich nicht aus aber eigentlich sollte man eben keinen eintrag in der fstab benötigen.
da bin ich jetzt erstmal überfragt, sorry
-
@oliverio sagte in Text in Base64 codieren und Datei von Netzlaufwerk suchen:
Ich lese, das es für Enigma vu+ ein webinterface / openwebif gibt
Wenn man über dieses webinterface schafft die Bilder anzeigen zu lassen, dann hast du deinen Webserver.
Dann musst du in vis nur noch die URLs so einbauen, das sie auf das webinterface zeigen.Wenn ich das Versuche
http://192.168.0.90/media/hdd/AdvancedEventLibrary/preview/a25hc3QgaW4gZGV1dHNjaGxhbmQgLSBlMDEgLSBzdHJhZmUsIGxpZWJlLCBob2ZmbnVuZw==.jpg%22
kommt ein 404 Fehler.