Forum
Ahoj, umí Loxone nějakým způsobem převod decimální hodnoty na HEX v rámci nějakého bloku? Dále aby tento výstup poskytoval jako hodnotu? Děkuji za radu a přeji hezký den.Petr
Prevod DEC to HEX nevie.
Asi by si si to vedel poskladat s viacerych blokov.
Skus upresnit co potrebujes , asi to nieje prevod cisel 0-255 do HEX.
Potřebuji ovládat hlasitost AV receiveru přes digitální výstup. Příkaz vypadá takto: ISCP\x00\x00\x00\x10\x00\x00\x00\x08\x01\x00\x00\x00!1MVL28\x0D
to číslo (28) v předposledním bloku je hlasitost v HEXa - když tam dám <v> můžu hodnotu měnit, ale nyní jen v desítkové soustavě, což není plynulé. vždy mi to po deseti skočí o 6 úrovní výše. Volume z bloku audiopřehrávače je v DEC.
Umím to udělat přes status, hold tam zadám všechny úrovně a i to převedu z DEC na HEX, ale výstup je textový a ten neumím zadat jako <v>
Nejjednodušeji to jde udělat přes blok Program:
kde v Programu je (například):
while(1) { int val_i = getinput(0); char val_str[2]; if(val_i > 255) { val_i = 255; } if(val_i < 0) { val_i = 0; } sprintf(val_str, "%02x", val_i); for(int i = 0; i < 2; i++) { if(val_str[i] == 'a') val_str[i] = 'A'; if(val_str[i] == 'b') val_str[i] = 'B'; if(val_str[i] == 'c') val_str[i] = 'C'; if(val_str[i] == 'd') val_str[i] = 'D'; if(val_str[i] == 'e') val_str[i] = 'E'; if(val_str[i] == 'f') val_str[i] = 'F'; } setoutputtext(0, val_str); }
Pokud nejsou nutná velká písmena, může se cyklus for() vypustit. PS: zkoušel jsem v sprintf() použít "%02X" a to nefunguje (to by mělo rovnou udělat velká písmena).
Pak to můžete dát rovnou na virtuální výstup. V příkazu použijte <v> (něco jako ...1MVL<v>...; to už nejspíše máte), mělo by si to poradit s číslem i s textem.
Příkaz se odešle při každé změně hodnoty.
Moc děkuji, program funguje, ale bohužel to nejde vložit do toho příkazu.
<v> umí vložit jen číslo a ne text. To je asi vlastnost toho virtuálního výstupu. Pokud na ten virtuální výstup vložím číslo třeba z toho audio přehrávače, tak to funguje. Pokud tam vkládám číslo z textového výstupu, tak už to nejde.
@petrp Můžete poslat nastavení toho virtuálního výstupu? Posílání textu funguje, nejspíše to máte někde špatně nastavené.
Pokud to udělám takto, tak to funguje, ale mezi 10 a 11 to skočí nahlas o 6