Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. Скрипты
    5. ioBroker скрипты
    6. ESP8266 TDA7313 iobroker

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    ESP8266 TDA7313 iobroker

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      bondrogeen last edited by

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

      В качестве усилителя был куплен на запчасти автомобильный магнитофон 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 Reply Quote 0
      • First post
        Last post

      Support us

      ioBroker
      Community Adapters
      Donate

      697
      Online

      31.7k
      Users

      79.7k
      Topics

      1.3m
      Posts

      1
      1
      1820
      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