Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. Скрипты
  5. ioBroker скрипты
  6. ESP8266 TDA7313 iobroker

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

ESP8266 TDA7313 iobroker

Scheduled Pinned Locked Moved ioBroker скрипты
1 Posts 1 Posters 1.9k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    bondrogeen
    wrote on last edited by
    #1

    Появилась необходимость в усилителе с сетевым управление.

    В качестве усилителя был куплен на запчасти автомобильный магнитофон Prology CMD-120 без панельки.

    Вскрытие показала, что внутри стоит усилитель на TDA7386 и цифровой темброблок на PL2313 (аналог TDA7313) управление по I2C.

    Тут и пришла мысль управлять ей (pl2313) через ESP8266 с прошивкой homes-smart GET-запросами.

    За основу была взята схема от CMD-125 так как на 120 я не нашел (да и отличается 120 от 125 тем, что в 120 нет AUX входа)

    Из prology был удален CD привод, выпаян процессор, так как "рулить" теперь будет ESP8266.

    Установил внутрь плату ESP и подпаялся к PL2313 и ключам управления.

    На скорую руку написал Вот такой скрипт и сделал страницу.

    ! var request = require('request');
    ! createState('ESPmusic.Volume', ''); //создаем переменную в iobroker
    ! createState('ESPmusic.Power', ''); //т.д…
    ! createState('ESPmusic.Switch', '');
    ! createState('ESPmusic.Bass', '');
    ! createState('ESPmusic.Treble', '');
    ! createState('ESPmusic.SpeakerLF', '');
    ! createState('ESPmusic.SpeakerRF', '');
    ! createState('ESPmusic.SpeakerLR', '');
    ! createState('ESPmusic.SpeakerRR', '');
    ! createState('ESPmusic.Loudness', '');
    ! createState('ESPmusic.dB', '');
    ! var IP = getState ("javascript.0.ESPmusic.IP"/ESPmusic.IP/).val; // берем ip ESP8266 из iobroker
    ! on({id: "javascript.0.ESPmusic.Power"/ESPmusic.Power/, change: 'any'}, function (obj) { // включаем усилителя (значение может быть от 0 (выкл) и 1 (вкл))
    ! if (obj.newState.val ==1){
    ! request("http://"+IP+"/gpio?st=1&pin=5", function(error, response, body){ // отправляем на ESP (использую GPIO5 ESP)
    ! if(error) {
    ! log(error);
    ! }
    ! });
    ! // инициализация при запуске, считываем все значения из iobroker от предыдущей сессии и отправляем на ESP
    ! var Volume = getState ("javascript.0.ESPmusic.Volume"/ESPmusic.Volume/).val;
    ! if(Volume === ""){
    ! Volume = 30; // среднее значение есть не указана в iobrokere
    ! }
    ! var hexVolume = Volume.toString(16); // преобразуем из десятичного (dec) в шестнадцатеричный (hex)
    ! var a=hexVolume.length;
    ! if(a==1){
    ! hexVolume= "0"+hexVolume;
    ! }
    ! Volume = hexVolume;
    ! log("Volume = "+Volume);
    ! var Bass = getState ("javascript.0.ESPmusic.Bass"/ESPmusic.Bass/).val;
    ! if(Bass === ""){
    ! Bass = 8; // среднее значение есть не указана в iobrokere
    ! }
    ! var hexBass;
    ! if(Bass<=7){ //преобразование
    ! Bass = 60 + Bass;
    ! }else {
    ! Bass = 111 + 8 - Bass;
    ! hexBass = Bass.toString(16);
    ! Bass = hexBass;
    ! }
    ! log("Bass = "+Bass);
    ! var Treble = getState ("javascript.0.ESPmusic.Treble"/ESPmusic.Treble/).val;
    ! if(Volume === ""){
    ! Treble = 8; // среднее значение есть не указана в iobrokere
    ! }
    ! var hexTreble;
    ! if(Treble<=7){ //преобразование
    ! Treble = 70 + Treble;
    ! }else {
    ! Treble = 127 + 8 - Treble;
    ! hexTreble = Treble.toString(16);
    ! Treble = hexTreble;
    ! }
    ! log("Treble = "+Treble);
    ! var Switch = getState ("javascript.0.ESPmusic.Switch"/ESPmusic.Switch/).val;
    ! if(Switch === ""){
    ! Switch = 3; // среднее значение есть не указана в iobrokere
    ! }
    ! log("Switch = "+Switch);
    ! var Loudness = getState ("javascript.0.ESPmusic.Loudness"/ESPmusic.Loudness/).val;
    ! if(Loudness === ""){
    ! Loudness = 0; // среднее значение есть не указана в iobrokere
    ! }
    ! switch (Loudness) {
    ! case 0:
    ! Loudness = 4;
    ! break;
    ! case 1:
    ! Loudness = 0;
    ! break;
    ! default:
    ! Loudness = 4;
    ! }
    ! log("Loudness = "+Loudness);
    ! var dB = getState ("javascript.0.ESPmusic.dB"/ESPmusic.dB/).val;
    ! if(dB === ""){
    ! dB = 0; // среднее значение есть не указана в iobrokere
    ! }
    ! switch (dB) {
    ! case 0:
    ! dB = 0;
    ! break;
    ! case 1:
    ! dB = 8;
    ! break;
    ! case 2:
    ! dB = 16;
    ! break;
    ! case 3:
    ! dB = 24;
    ! break;
    ! default:
    ! dB = 24;
    ! }
    ! log("dB = "+dB);
    ! var AudioSwitch = 64+dB+Loudness+Switch;
    ! var hexAudioSwitch = AudioSwitch.toString(16);
    ! AudioSwitch=hexAudioSwitch;
    ! var SpeakerLF = getState ("javascript.0.ESPmusic.SpeakerLF"/ESPmusic.SpeakerLF/).val;
    ! if(SpeakerLF === ""){
    ! SpeakerLF = 0; // среднее значение есть не указана в iobrokere
    ! }
    ! SpeakerLF = 128 + SpeakerLF;
    ! var hexSpeakerLF = SpeakerLF.toString(16);
    ! SpeakerLF = hexSpeakerLF;
    ! var SpeakerRF = getState ("javascript.0.ESPmusic.SpeakerRF"/ESPmusic.SpeakerRF/).val;
    ! if(SpeakerRF === ""){
    ! SpeakerRF = 0; // среднее значение есть не указана в iobrokere
    ! }
    ! SpeakerRF = 160 + SpeakerRF;
    ! var hexSpeakerRF = SpeakerRF.toString(16);
    ! SpeakerRF = hexSpeakerRF;
    ! var SpeakerLR = getState ("javascript.0.ESPmusic.SpeakerLR"/ESPmusic.SpeakerLR/).val;
    ! if(SpeakerLR === ""){
    ! SpeakerLR = 0; // среднее значение есть не указана в iobrokere
    ! }
    ! SpeakerLR = 192 + SpeakerLR;
    ! var hexSpeakerLR = SpeakerLR.toString(16);
    ! SpeakerLR = hexSpeakerLR;
    ! var SpeakerRR = getState ("javascript.0.ESPmusic.SpeakerRR"/ESPmusic.SpeakerRR/).val;
    ! if(SpeakerRR === ""){
    ! SpeakerRR = 0; // среднее значение есть не указана в iobrokere
    ! }
    ! SpeakerRR = 192 + SpeakerRR;
    ! var hexSpeakerRR = SpeakerRR.toString(16);
    ! SpeakerRR = hexSpeakerRR;
    ! setTimeout(function() {
    ! request("http://"+IP+"/i2cgo?adr=44&set="+AudioSwitch+SpeakerLF+SpeakerRF+SpeakerLR+SpeakerRR+Treble+Bass+Volume, function(error, response, body){
    ! if(error) { // устанавливаем значение tda7313 от предыдущей сессии
    ! log(error);
    ! }
    ! });
    ! },500);
    ! }else{
    ! request("http://"+IP+"/gpio?st=0&pin=5", function(error, response, body){ // выключаем усилитель
    ! if(error) {
    ! log(error);
    ! }
    ! });
    ! }
    ! });
    ! on({id: "javascript.0.ESPmusic.Switch"/ESPmusic.Switch/, change: 'any'}, function (obj) {
    ! var Switch = obj.newState.val; // подписываемся на изменения переменной ESPmusic.Switch (значение может быть от 0 (Stereo 1), 1 (Stereo 2) и 2 (Stereo 3))
    ! if(Switch === ""){
    ! Switch = 3; // среднее значение есть не указана в iobrokere
    ! }
    ! var Loudness = getState ("javascript.0.ESPmusic.Loudness"/ESPmusic.Loudness/).val;
    ! if(Loudness === ""){
    ! Loudness = 0; // среднее значение есть не указана в iobrokere
    ! }
    ! switch (Loudness) {
    ! case 0:
    ! Loudness = 4;
    ! break;
    ! case 1:
    ! Loudness = 0;
    ! break;
    ! default:
    ! Loudness = 4;
    ! }
    ! var dB = getState ("javascript.0.ESPmusic.dB"/ESPmusic.dB/).val;
    ! if(dB === ""){
    ! dB = 0; // среднее значение есть не указана в iobrokere
    ! }
    ! switch (dB) {
    ! case 0:
    ! dB = 0;
    ! break;
    ! case 1:
    ! dB = 8;
    ! break;
    ! case 2:
    ! dB = 16;
    ! break;
    ! case 3:
    ! dB = 24;
    ! break;
    ! default:
    ! dB = 24;
    ! }
    ! log("dB = "+dB);
    ! var AudioSwitch = 64+dB+Loudness+Switch;
    ! var hexAudioSwitch = AudioSwitch.toString(16);
    ! AudioSwitch=hexAudioSwitch;
    ! log(AudioSwitch);
    ! request("http://"+IP+"/i2cgo?adr=44&set="+AudioSwitch, function(error, response, body){
    ! if(error) {
    ! log(error);
    ! }
    ! });
    ! });
    ! on({id: "javascript.0.ESPmusic.Loudness"/ESPmusic.Loudness/, change: 'any'}, function (obj) {
    ! var Loudness = obj.newState.val; // подписываемся на изменения переменной ESPmusic.Loudness (значение может быть от 0 (выкл) и 1 (вкл))
    ! if(Loudness === ""){
    ! Loudness = 0; // среднее значение есть не указана в iobrokere
    ! }
    ! switch (Loudness) {
    ! case 0:
    ! Loudness = 4;
    ! break;
    ! case 1:
    ! Loudness = 0;
    ! break;
    ! default:
    ! Loudness = 4;
    ! }
    ! var Switch = getState ("javascript.0.ESPmusic.Switch"/ESPmusic.Switch/).val;
    ! if(Switch === ""){
    ! Switch = 3; // среднее значение есть не указана в iobrokere
    ! }
    ! var dB = getState ("javascript.0.ESPmusic.dB"/ESPmusic.dB/).val;
    ! if(dB === ""){
    ! dB = 0; // среднее значение есть не указана в iobrokere
    ! }
    ! switch (dB) {
    ! case 0:
    ! dB = 0;
    ! break;
    ! case 1:
    ! dB = 8;
    ! break;
    ! case 2:
    ! dB = 16;
    ! break;
    ! case 3:
    ! dB = 24;
    ! break;
    ! default:
    ! dB = 24;
    ! }
    ! var AudioSwitch = 64+dB+Loudness+Switch;
    ! var hexAudioSwitch = AudioSwitch.toString(16);
    ! AudioSwitch=hexAudioSwitch;
    ! log(AudioSwitch);
    ! request("http://"+IP+"/i2cgo?adr=44&set="+AudioSwitch, function(error, response, body){
    ! if(error) {
    ! log(error);
    ! }
    ! });
    ! });
    ! on({id: "javascript.0.ESPmusic.dB"/ESPmusic.dB/, change: 'any'}, function (obj) { //доп. усиление
    ! var dB = obj.newState.val; // подписываемся на изменения переменной ESPmusic.dB (значение может быть от 0 (+11.25dB), 1 (+7.5dB), 2 (+3.75dB) и 3 (0dB))
    ! if(dB === ""){
    ! dB = 0; // среднее значение есть не указана в iobrokere
    ! }
    ! switch (dB) {
    ! case 0:
    ! dB = 0;
    ! break;
    ! case 1:
    ! dB = 8;
    ! break;
    ! case 2:
    ! dB = 16;
    ! break;
    ! case 3:
    ! dB = 24;
    ! break;
    ! default:
    ! dB = 24;
    ! }
    ! var Loudness = getState ("javascript.0.ESPmusic.Loudness"/ESPmusic.Loudness/).val;
    ! if(Loudness === ""){
    ! Loudness = 0; // среднее значение есть не указана в iobrokere
    ! }
    ! switch (Loudness) {
    ! case 0:
    ! Loudness = 4;
    ! break;
    ! case 1:
    ! Loudness = 0;
    ! break;
    ! default:
    ! Loudness = 4;
    ! }
    ! var Switch = getState ("javascript.0.ESPmusic.Switch"/ESPmusic.Switch/).val;
    ! if(Switch === ""){
    ! Switch = 3; // среднее значение есть не указана в iobrokere
    ! }
    ! var AudioSwitch = 64+dB+Loudness+Switch;
    ! var hexAudioSwitch = AudioSwitch.toString(16); //переводим из dec в hex
    ! AudioSwitch=hexAudioSwitch;
    ! log(AudioSwitch);
    ! request("http://"+IP+"/i2cgo?adr=44&set="+AudioSwitch, function(error, response, body){ //отправляем на ESP
    ! if(error) {
    ! log(error);
    ! }
    ! });
    ! });
    ! on({id: "javascript.0.ESPmusic.Volume"/ESPmusic.Volume/, change: 'any'}, function (obj) { //регулировка громкости общая
    ! var volume = obj.newState.val; // подписываемся на изменения переменной ESPmusic.Volume (значение может быть от 0 - 63)
    ! var hexvolume = volume.toString(16);
    ! var a=hexvolume.length; // кол.сим
    ! if(a==1){
    ! hexvolume= "0"+hexvolume; //если символ один добавлеем "0" к значению
    ! }
    ! request("http://"+IP+"/i2cgo?adr=44&set="+hexvolume, function(error, response, body){ //отправляем на ESP
    ! if(error) {
    ! log(error);
    ! }
    ! });
    ! });
    ! on({id: "javascript.0.ESPmusic.Bass"/ESPmusic.Bass/, change: 'any'}, function (obj) { //регулировка НЧ
    ! var bass = obj.newState.val; // подписываемся на изменения переменной ESPmusic.Bass (значение может быть от 0 - 15)
    ! var hexbass;
    ! if(bass<=7){ // преобразование
    ! bass = 60 + bass;
    ! }else {
    ! bass = 111 + 8 - bass;
    ! hexbass = bass.toString(16); //переводим из dec в hex
    ! bass = hexbass;
    ! }
    ! request("http://"+IP+"/i2cgo?adr=44&set="+bass, function(error, response, body){ //отправляем на ESP
    ! if(error) {
    ! log(error);
    ! }
    ! });
    ! });
    ! on({id: "javascript.0.ESPmusic.Treble"/ESPmusic.Treble/, change: 'any'}, function (obj) { //регулировка ВЧ
    ! var treble = obj.newState.val; // подписываемся на изменения переменной ESPmusic.Treble (значение может быть от 0 - 15)
    ! var hextreble;
    ! if(treble<=7){ // преобразование
    ! treble = 70 + treble;
    ! }else {
    ! treble = 127 + 8 - treble;
    ! hextreble = treble.toString(16); //переводим из dec в hex
    ! treble = hextreble;
    ! }
    ! request("http://"+IP+"/i2cgo?adr=44&set="+treble, function(error, response, body){ //отправляем на ESP
    ! if(error) {
    ! log(error);
    ! }
    ! });
    ! });
    ! on({id: "javascript.0.ESPmusic.SpeakerLF"/ESPmusic.SpeakerLF/, change: 'any'}, function (obj) { //Регулировка громкости канала SpeakerLF
    ! var SpeakerLF = 128 + obj.newState.val; // подписываемся на изменения переменной ESPmusic.Treble (значение может быть от 0 - 30)
    ! var hexString = SpeakerLF.toString(16); //переводим из dec в hex
    ! log(hexString);
    ! request("http://"+IP+"/i2cgo?adr=44&set="+hexString, function(error, response, body){ //отправляем на ESP
    ! if(error) {
    ! log(error);
    ! }
    ! });
    ! });
    ! on({id:"javascript.0.ESPmusic.SpeakerRF"/ESPmusic.SpeakerRF/, change: 'any'}, function (obj) { //Регулировка громкости канала SpeakerRF
    ! var SpeakerRF = 160 + obj.newState.val; // подписываемся на изменения переменной ESPmusic.SpeakerRF (значение может быть от 0 - 30)
    ! var hexString = SpeakerRF.toString(16); //переводим из dec в hex
    ! log(hexString);
    ! request("http://"+IP+"/i2cgo?adr=44&set="+hexString, function(error, response, body){ //отправляем на ESP
    ! if(error) {
    ! log(error);
    ! }
    ! });
    ! });
    ! on({id:"javascript.0.ESPmusic.SpeakerLR"/ESPmusic.SpeakerLR/, change: 'any'}, function (obj) { //Регулировка громкости канала SpeakerLR
    ! var SpeakerLR = 192 + obj.newState.val; // подписываемся на изменения переменной ESPmusic.SpeakerLR (значение может быть от 0 - 30)
    ! var hexString = SpeakerLR.toString(16); //переводим из dec в hex
    ! request("http://"+IP+"/i2cgo?adr=44&set="+hexString, function(error, response, body){ //отправляем на ESP
    ! if(error) {
    ! log(error);
    ! }
    ! });
    ! });
    ! on({id:"javascript.0.ESPmusic.SpeakerRR"/ESPmusic.SpeakerRR/, change: 'any'}, function (obj) { //Регулировка громкости канала SpeakerRR
    ! var SpeakerRR = 224 + obj.newState.val; // подписываемся на изменения переменной ESPmusic.SpeakerRR (значение может быть от 0 - 30)
    ! var hexString = SpeakerRR.toString(16); //переводим из dec в hex
    ! request("http://"+IP+"/i2cgo?adr=44&set="+hexString, function(error, response, body){ //отправляем на ESP
    ! if(error) {
    ! log(error);
    ! }
    ! });
    ! });

    380_111.jpg

    Экспортированная страница.

    ! {
    ! "settings": {
    ! "style": {
    ! "background_class": ""
    ! },
    ! "theme": "vader",
    ! "sizex": "",
    ! "sizey": "",
    ! "gridSize": ""
    ! },
    ! "widgets": {
    ! "e00001": {
    ! "tpl": "tplJquiSlider",
    ! "data": {
    ! "oid": "javascript.0.ESPmusic.Volume",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0,
    ! "min": "0",
    ! "max": "63",
    ! "step": "1",
    ! "inverted": true
    ! },
    ! "style": {
    ! "left": "346px",
    ! "top": "116px"
    ! },
    ! "widgetSet": "jqui"
    ! },
    ! "e00002": {
    ! "tpl": "tplJquiRadio",
    ! "data": {
    ! "oid": "javascript.0.ESPmusic.Power",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "off_text": "Выкл",
    ! "on_text": "Вкл",
    ! "padding": "5",
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0
    ! },
    ! "style": {
    ! "left": "74px",
    ! "top": "135px"
    ! },
    ! "widgetSet": "jqui"
    ! },
    ! "e00003": {
    ! "tpl": "tplJquiRadioList",
    ! "data": {
    ! "oid": "javascript.0.ESPmusic.Switch",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "values": "0;1;2",
    ! "texts": "1;2;3",
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0
    ! },
    ! "style": {
    ! "left": "74px",
    ! "top": "360px"
    ! },
    ! "widgetSet": "jqui"
    ! },
    ! "e00004": {
    ! "tpl": "tplJquiSliderVertical",
    ! "data": {
    ! "oid": "javascript.0.ESPmusic.Bass",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0,
    ! "min": "0",
    ! "max": "15",
    ! "step": "1",
    ! "inverted": false
    ! },
    ! "style": {
    ! "left": "584px",
    ! "top": "198px"
    ! },
    ! "widgetSet": "jqui"
    ! },
    ! "e00005": {
    ! "tpl": "tplJquiSliderVertical",
    ! "data": {
    ! "oid": "javascript.0.ESPmusic.Treble",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0,
    ! "min": "0",
    ! "max": "15",
    ! "step": "1",
    ! "inverted": false
    ! },
    ! "style": {
    ! "left": "647px",
    ! "top": "198px",
    ! "width": "23px",
    ! "height": "160px"
    ! },
    ! "widgetSet": "jqui"
    ! },
    ! "e00006": {
    ! "tpl": "tplJquiSliderVertical",
    ! "data": {
    ! "oid": "javascript.0.ESPmusic.SpeakerLF",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0,
    ! "min": "0",
    ! "max": "30",
    ! "step": "1",
    ! "inverted": true
    ! },
    ! "style": {
    ! "left": "342px",
    ! "top": "198px",
    ! "width": "23px",
    ! "height": "160px"
    ! },
    ! "widgetSet": "jqui"
    ! },
    ! "e00007": {
    ! "tpl": "tplJquiSliderVertical",
    ! "data": {
    ! "oid": "javascript.0.ESPmusic.SpeakerRF",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0,
    ! "min": "0",
    ! "max": "30",
    ! "step": "1",
    ! "inverted": true
    ! },
    ! "style": {
    ! "left": "393px",
    ! "top": "198px",
    ! "width": "23px",
    ! "height": "160px"
    ! },
    ! "widgetSet": "jqui"
    ! },
    ! "e00008": {
    ! "tpl": "tplJquiSliderVertical",
    ! "data": {
    ! "oid": "javascript.0.ESPmusic.SpeakerLR",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0,
    ! "min": "0",
    ! "max": "30",
    ! "step": "1",
    ! "inverted": true
    ! },
    ! "style": {
    ! "left": "444px",
    ! "top": "198px",
    ! "width": "23px",
    ! "height": "160px"
    ! },
    ! "widgetSet": "jqui"
    ! },
    ! "e00009": {
    ! "tpl": "tplJquiSliderVertical",
    ! "data": {
    ! "oid": "javascript.0.ESPmusic.SpeakerRR",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0,
    ! "min": "0",
    ! "max": "30",
    ! "step": "1",
    ! "inverted": true
    ! },
    ! "style": {
    ! "left": "495px",
    ! "top": "198px",
    ! "width": "23px",
    ! "height": "160px"
    ! },
    ! "widgetSet": "jqui"
    ! },
    ! "e00010": {
    ! "tpl": "tplJquiRadio",
    ! "data": {
    ! "oid": "javascript.0.ESPmusic.Loudness",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "off_text": "Выкл",
    ! "on_text": "Вкл",
    ! "padding": "5",
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0
    ! },
    ! "style": {
    ! "left": "74px",
    ! "top": "251px"
    ! },
    ! "widgetSet": "jqui"
    ! },
    ! "e00011": {
    ! "tpl": "tplJquiRadioList",
    ! "data": {
    ! "oid": "javascript.0.ESPmusic.dB",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "values": "0;1;2;3",
    ! "texts": "+11.25dB; +7.5dB; +3.75dB; 0dB",
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0
    ! },
    ! "style": {
    ! "left": "304px",
    ! "top": "410px"
    ! },
    ! "widgetSet": "jqui"
    ! },
    ! "e00012": {
    ! "tpl": "tplValueString",
    ! "data": {
    ! "oid": "nothing_selected",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0,
    ! "test_html": "",
    ! "html_prepend": "Питание"
    ! },
    ! "style": {
    ! "left": "100px",
    ! "top": "188px",
    ! "width": "109px",
    ! "height": "33px",
    ! "color": "#000000",
    ! "font-weight": "bold",
    ! "font-size": "x-large"
    ! },
    ! "widgetSet": "basic"
    ! },
    ! "e00013": {
    ! "tpl": "tplValueString",
    ! "data": {
    ! "oid": "nothing_selected",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0,
    ! "test_html": "",
    ! "html_prepend": "Loudness"
    ! },
    ! "style": {
    ! "left": "100px",
    ! "top": "303px",
    ! "width": "140px",
    ! "height": "32px",
    ! "color": "#000000",
    ! "font-weight": "bold",
    ! "font-size": "x-large"
    ! },
    ! "widgetSet": "basic"
    ! },
    ! "e00014": {
    ! "tpl": "tplValueString",
    ! "data": {
    ! "oid": "nothing_selected",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0,
    ! "test_html": "",
    ! "html_prepend": "Switch"
    ! },
    ! "style": {
    ! "left": "104px",
    ! "top": "409px",
    ! "width": "140px",
    ! "height": "32px",
    ! "color": "#000000",
    ! "font-weight": "bold",
    ! "font-size": "x-large"
    ! },
    ! "widgetSet": "basic"
    ! },
    ! "e00015": {
    ! "tpl": "tplValueString",
    ! "data": {
    ! "oid": "nothing_selected",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0,
    ! "test_html": "",
    ! "html_prepend": "Громкость"
    ! },
    ! "style": {
    ! "left": "371px",
    ! "top": "144px",
    ! "width": "137px",
    ! "height": "33px",
    ! "color": "#000000",
    ! "font-weight": "bold",
    ! "font-size": "x-large"
    ! },
    ! "widgetSet": "basic"
    ! },
    ! "e00016": {
    ! "tpl": "tplValueString",
    ! "data": {
    ! "oid": "nothing_selected",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0,
    ! "test_html": "",
    ! "html_prepend": "НЧ"
    ! },
    ! "style": {
    ! "left": "582px",
    ! "top": "372px",
    ! "width": "41px",
    ! "height": "33px",
    ! "color": "#000000",
    ! "font-weight": "bold",
    ! "font-size": "x-large"
    ! },
    ! "widgetSet": "basic"
    ! },
    ! "e00017": {
    ! "tpl": "tplValueString",
    ! "data": {
    ! "oid": "nothing_selected",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0,
    ! "test_html": "",
    ! "html_prepend": "ВЧ"
    ! },
    ! "style": {
    ! "left": "640px",
    ! "top": "372px",
    ! "width": "41px",
    ! "height": "33px",
    ! "color": "#000000",
    ! "font-weight": "bold",
    ! "font-size": "x-large"
    ! },
    ! "widgetSet": "basic"
    ! },
    ! "e00018": {
    ! "tpl": "tplValueString",
    ! "data": {
    ! "oid": "nothing_selected",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0,
    ! "test_html": "",
    ! "html_prepend": "RF"
    ! },
    ! "style": {
    ! "left": "392px",
    ! "top": "372px",
    ! "width": "41px",
    ! "height": "33px",
    ! "color": "#000000",
    ! "font-weight": "bold",
    ! "font-size": "x-large"
    ! },
    ! "widgetSet": "basic"
    ! },
    ! "e00019": {
    ! "tpl": "tplValueString",
    ! "data": {
    ! "oid": "nothing_selected",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0,
    ! "test_html": "",
    ! "html_prepend": "LF"
    ! },
    ! "style": {
    ! "left": "340px",
    ! "top": "372px",
    ! "width": "41px",
    ! "height": "33px",
    ! "color": "#000000",
    ! "font-weight": "bold",
    ! "font-size": "x-large"
    ! },
    ! "widgetSet": "basic"
    ! },
    ! "e00020": {
    ! "tpl": "tplValueString",
    ! "data": {
    ! "oid": "nothing_selected",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0,
    ! "test_html": "",
    ! "html_prepend": "LR"
    ! },
    ! "style": {
    ! "left": "444px",
    ! "top": "372px",
    ! "width": "41px",
    ! "height": "33px",
    ! "color": "#000000",
    ! "font-weight": "bold",
    ! "font-size": "x-large"
    ! },
    ! "widgetSet": "basic"
    ! },
    ! "e00021": {
    ! "tpl": "tplValueString",
    ! "data": {
    ! "oid": "nothing_selected",
    ! "visibility-cond": "==",
    ! "visibility-val": 1,
    ! "gestures-offsetX": 0,
    ! "gestures-offsetY": 0,
    ! "test_html": "",
    ! "html_prepend": "RR"
    ! },
    ! "style": {
    ! "left": "494px",
    ! "top": "372px",
    ! "width": "41px",
    ! "height": "33px",
    ! "color": "#000000",
    ! "font-weight": "bold",
    ! "font-size": "x-large"
    ! },
    ! "widgetSet": "basic"
    ! }
    ! },
    ! "name": "Тест",
    ! "rerender": false,
    ! "filterList": []
    ! }

    Работает все довольно быстро и не плохо, на веб морду вывел кнопку включения, выбор аудио входа, переключатель доп. усиления ползунок громкости, тембра, и раздельная регулировки каждого канала.

    Из минусов только то, что радиоприемник аналоговый (и нужно городить синтезатор частоты для его управления), ну или под искать тюнер с цифровым управление. Хотя тут уже другой вопрос: нужен ли он!?

    Вот не большое видео работы веб морды.

    П.Ы. динамик подключен только один.

    https://www.youtube.com/watch?v=sySmPkhGgBs

    1 Reply Last reply
    0
    Reply
    • Reply as topic
    Log in to reply
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes


    Support us

    ioBroker
    Community Adapters
    Donate

    812

    Online

    32.5k

    Users

    81.7k

    Topics

    1.3m

    Posts
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
    ioBroker Community 2014-2025
    logo
    • Login

    • Don't have an account? Register

    • Login or register to search.
    • First post
      Last post
    0
    • Home
    • Recent
    • Tags
    • Unread 0
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe