NEWS
SONOFF NSPanel mit Lovelace UI (TypeScript Version)
-
@michaelf
zeige mal den alias den du für Volume angelegt hastEdit: sehe grade das dein muted readonly ist, dann kannst du in nicht von aussen setzen
Glaube da ist irgendwo der Fehler.
Bekomme jetzt auch diese Meldung im Log wenn ich die Seite aufmache:
javascript.0 2026-04-04 21:40:16.280 warn script.js.common.NsPanelWz: error at function HandleButtonEvent: Cannot read properties of undefined (reading 'id')
Hab grade mal den Datenpunkt geändert, jetzt ändert sich im Display das Symbole wenn ich ihn in den Objekten Schalte. Aber vom Display zu Objekten geht nicht.

Ist hier was Falsch:

-
welche Adapterversion hast du? kannst du den Alias mal so anzeigen, wie ich es gemacht habe. Sprich die Rollen von den Datenpunkten und dem Channel.
welche Adapterversion hast du? kannst du den Alias mal so anzeigen, wie ich es gemacht habe. Sprich die Rollen von den Datenpunkten und dem Channel.
Müsste die Version v5.0.0
let CardThermo2Test: PageType = { type: 'cardThermo2', heading: 'Bad', thermoItems: [ /* Center-Area of cardThermo2 */ /* SET-Temp */ { id: 'alias.0.NSPanel.Thermostat_Bad', minValue: 10.0, maxValue:30.0, stepValue: 0.5, unit: "°C" }, /* Actual Temp */ { id: 'alias.0.NSPanel.Thermostat_Bad.ACTUAL', icon: 'thermometer', onColor: Orange, unit: "°C" }, /* Actual Humidity */ { id: 'alias.0.NSPanel.Thermostat_Bad.HUMIDITY', icon: 'water-percent', onColor: HMIOn, unit: "%" }, /* Text State */ { id: 'alias.0.NSPanel.Thermostat_Bad.MODE', onColor: Orange } ], items: [ /* Max 9 Entities in cardThermo2 */ { id: 'alias.0.NSPanel.AlexaBadLautstärke'}, { id: 'alias.0.NSPanel.Dachfenster', name: 'Dachfenster', icon: 'window-open-variant', icon2: 'window-closed-variant', onColor: MSRed, offColor: MSGreen}, { id: 'alias.0.NSPanel.Heizung', icon: 'heat-wave', offColor: MSRed, onColor: MSGreen, name: 'Heizung'}, //{ navigate: true, id: null, targetPage: 'Abfall', onColor: White, name: 'Abfallkalender', icon: 'trash-can'}, { id: 'alias.0.NSPanel.Heizung_Spiegel', icon: 'heat-pump-outline', offColor: MSRed, onColor: MSGreen, name: 'Speigelheizung'}, { id: 'alias.0.NSPanel.Endstufe', icon: 'soundbar', offColor: MSRed, onColor: MSGreen, name: 'Endstufe'}, { id: 'alias.0.NSPanel.Lüfter',name: 'Ventilator', icon: 'fan', onColor: On, offColor: HMIOff}, //{ id: 'alias.0.NSPanel_1.TestTemperatur', name: 'Außentemperatur', offColor: White , onColor: White, useValue: true, suffixName: ' °C', fontSize: 1, colorScale: { 'val_min': -20, 'val_max': 40, 'val_best': 20 } }, { id: 'alias.0.NSPanel.Fussbodenheizung', icon: 'heating-coil', offColor: MSRed, onColor: MSGreen, name: 'Fussbodenheizung'}, { id: 'alias.0.NSPanel.Deckenbeleuchtung_Klein', icon: 'lightbulb', offColor: MSRed, onColor: MSGreen, name: 'Licht'}, //{ id: 'delete'}, //{ id: 'alias.0.NSPanel_EMU.TestKlimaVirtualModeList', icon: 'dots-horizontal-circle-outline', onColor: White, offColor: White, name: 'Betriebsmodus', modeList: ['Aus','Kühlen auf', 'Heizen auf']} ], alwaysOnDisplay: false }; -
welche Adapterversion hast du? kannst du den Alias mal so anzeigen, wie ich es gemacht habe. Sprich die Rollen von den Datenpunkten und dem Channel.
Müsste die Version v5.0.0
let CardThermo2Test: PageType = { type: 'cardThermo2', heading: 'Bad', thermoItems: [ /* Center-Area of cardThermo2 */ /* SET-Temp */ { id: 'alias.0.NSPanel.Thermostat_Bad', minValue: 10.0, maxValue:30.0, stepValue: 0.5, unit: "°C" }, /* Actual Temp */ { id: 'alias.0.NSPanel.Thermostat_Bad.ACTUAL', icon: 'thermometer', onColor: Orange, unit: "°C" }, /* Actual Humidity */ { id: 'alias.0.NSPanel.Thermostat_Bad.HUMIDITY', icon: 'water-percent', onColor: HMIOn, unit: "%" }, /* Text State */ { id: 'alias.0.NSPanel.Thermostat_Bad.MODE', onColor: Orange } ], items: [ /* Max 9 Entities in cardThermo2 */ { id: 'alias.0.NSPanel.AlexaBadLautstärke'}, { id: 'alias.0.NSPanel.Dachfenster', name: 'Dachfenster', icon: 'window-open-variant', icon2: 'window-closed-variant', onColor: MSRed, offColor: MSGreen}, { id: 'alias.0.NSPanel.Heizung', icon: 'heat-wave', offColor: MSRed, onColor: MSGreen, name: 'Heizung'}, //{ navigate: true, id: null, targetPage: 'Abfall', onColor: White, name: 'Abfallkalender', icon: 'trash-can'}, { id: 'alias.0.NSPanel.Heizung_Spiegel', icon: 'heat-pump-outline', offColor: MSRed, onColor: MSGreen, name: 'Speigelheizung'}, { id: 'alias.0.NSPanel.Endstufe', icon: 'soundbar', offColor: MSRed, onColor: MSGreen, name: 'Endstufe'}, { id: 'alias.0.NSPanel.Lüfter',name: 'Ventilator', icon: 'fan', onColor: On, offColor: HMIOff}, //{ id: 'alias.0.NSPanel_1.TestTemperatur', name: 'Außentemperatur', offColor: White , onColor: White, useValue: true, suffixName: ' °C', fontSize: 1, colorScale: { 'val_min': -20, 'val_max': 40, 'val_best': 20 } }, { id: 'alias.0.NSPanel.Fussbodenheizung', icon: 'heating-coil', offColor: MSRed, onColor: MSGreen, name: 'Fussbodenheizung'}, { id: 'alias.0.NSPanel.Deckenbeleuchtung_Klein', icon: 'lightbulb', offColor: MSRed, onColor: MSGreen, name: 'Licht'}, //{ id: 'delete'}, //{ id: 'alias.0.NSPanel_EMU.TestKlimaVirtualModeList', icon: 'dots-horizontal-circle-outline', onColor: White, offColor: White, name: 'Betriebsmodus', modeList: ['Aus','Kühlen auf', 'Heizen auf']} ], alwaysOnDisplay: false }; -
welche Adapterversion hast du? kannst du den Alias mal so anzeigen, wie ich es gemacht habe. Sprich die Rollen von den Datenpunkten und dem Channel.
Müsste die Version v5.0.0
let CardThermo2Test: PageType = { type: 'cardThermo2', heading: 'Bad', thermoItems: [ /* Center-Area of cardThermo2 */ /* SET-Temp */ { id: 'alias.0.NSPanel.Thermostat_Bad', minValue: 10.0, maxValue:30.0, stepValue: 0.5, unit: "°C" }, /* Actual Temp */ { id: 'alias.0.NSPanel.Thermostat_Bad.ACTUAL', icon: 'thermometer', onColor: Orange, unit: "°C" }, /* Actual Humidity */ { id: 'alias.0.NSPanel.Thermostat_Bad.HUMIDITY', icon: 'water-percent', onColor: HMIOn, unit: "%" }, /* Text State */ { id: 'alias.0.NSPanel.Thermostat_Bad.MODE', onColor: Orange } ], items: [ /* Max 9 Entities in cardThermo2 */ { id: 'alias.0.NSPanel.AlexaBadLautstärke'}, { id: 'alias.0.NSPanel.Dachfenster', name: 'Dachfenster', icon: 'window-open-variant', icon2: 'window-closed-variant', onColor: MSRed, offColor: MSGreen}, { id: 'alias.0.NSPanel.Heizung', icon: 'heat-wave', offColor: MSRed, onColor: MSGreen, name: 'Heizung'}, //{ navigate: true, id: null, targetPage: 'Abfall', onColor: White, name: 'Abfallkalender', icon: 'trash-can'}, { id: 'alias.0.NSPanel.Heizung_Spiegel', icon: 'heat-pump-outline', offColor: MSRed, onColor: MSGreen, name: 'Speigelheizung'}, { id: 'alias.0.NSPanel.Endstufe', icon: 'soundbar', offColor: MSRed, onColor: MSGreen, name: 'Endstufe'}, { id: 'alias.0.NSPanel.Lüfter',name: 'Ventilator', icon: 'fan', onColor: On, offColor: HMIOff}, //{ id: 'alias.0.NSPanel_1.TestTemperatur', name: 'Außentemperatur', offColor: White , onColor: White, useValue: true, suffixName: ' °C', fontSize: 1, colorScale: { 'val_min': -20, 'val_max': 40, 'val_best': 20 } }, { id: 'alias.0.NSPanel.Fussbodenheizung', icon: 'heating-coil', offColor: MSRed, onColor: MSGreen, name: 'Fussbodenheizung'}, { id: 'alias.0.NSPanel.Deckenbeleuchtung_Klein', icon: 'lightbulb', offColor: MSRed, onColor: MSGreen, name: 'Licht'}, //{ id: 'delete'}, //{ id: 'alias.0.NSPanel_EMU.TestKlimaVirtualModeList', icon: 'dots-horizontal-circle-outline', onColor: White, offColor: White, name: 'Betriebsmodus', modeList: ['Aus','Kühlen auf', 'Heizen auf']} ], alwaysOnDisplay: false }; -
so habe jetzt das Script am laufen, Version 5.1.1.3 und TFT 61. Es funktioniert fast wie gewünscht. Der Datenpunkt Mute wird nicht genutzt, dafür wird der Volume auf "0" gesetzt. Die Icon ändern sich je nach Lautstarke.
Danke für´s testen, reicht es wenn ich den unteren Teil vom Scrip aktualisiere. Oder vielleicht gleich doch auf den Adapter wechseln ?
Grüße und Frohe Ostern.
-
so habe jetzt das Script am laufen, Version 5.1.1.3 und TFT 61. Es funktioniert fast wie gewünscht. Der Datenpunkt Mute wird nicht genutzt, dafür wird der Volume auf "0" gesetzt. Die Icon ändern sich je nach Lautstarke.
Danke für´s testen, reicht es wenn ich den unteren Teil vom Scrip aktualisiere. Oder vielleicht gleich doch auf den Adapter wechseln ?
Grüße und Frohe Ostern.
du kannst den Adapter installieren und deine Seitenconfig nach und nach übernehmen. Es darf aber nur eins von beiden laufen. Beim Start musst du die MQTT und Paneleinstellungen vom Script übernehmen, damit das Script weiter funktioniert. Ich würde dir den Umstieg zum Adapter empfehlen. Wenn du Hilfe benötigst, kannst du im Wiki schon vieles nachlesen, ansonsten frage im Adapter Post nach.
-
so habe jetzt das Script am laufen, Version 5.1.1.3 und TFT 61. Es funktioniert fast wie gewünscht. Der Datenpunkt Mute wird nicht genutzt, dafür wird der Volume auf "0" gesetzt. Die Icon ändern sich je nach Lautstarke.
Danke für´s testen, reicht es wenn ich den unteren Teil vom Scrip aktualisiere. Oder vielleicht gleich doch auf den Adapter wechseln ?
Grüße und Frohe Ostern.
@MichaelF
Adapter ist etwas anders - der Umzug braucht doch ein paar Anpassungen. Aber dann gehts imho einfacher - ich würde den adapter schon alleine wegen der symbolübersicht installieren :D -
@MichaelF
Adapter ist etwas anders - der Umzug braucht doch ein paar Anpassungen. Aber dann gehts imho einfacher - ich würde den adapter schon alleine wegen der symbolübersicht installieren :D -
du kannst den Adapter installieren und deine Seitenconfig nach und nach übernehmen. Es darf aber nur eins von beiden laufen. Beim Start musst du die MQTT und Paneleinstellungen vom Script übernehmen, damit das Script weiter funktioniert. Ich würde dir den Umstieg zum Adapter empfehlen. Wenn du Hilfe benötigst, kannst du im Wiki schon vieles nachlesen, ansonsten frage im Adapter Post nach.
du kannst den Adapter installieren und deine Seitenconfig nach und nach übernehmen. Es darf aber nur eins von beiden laufen. Beim Start musst du die MQTT und Paneleinstellungen vom Script übernehmen, damit das Script weiter funktioniert. Ich würde dir den Umstieg zum Adapter empfehlen. Wenn du Hilfe benötigst, kannst du im Wiki schon vieles nachlesen, ansonsten frage im Adapter Post nach.
Danke, erst mal. Hab das Script auf die neuste Version gebracht seit dem geht eigentlich alles. Firmware vom Display wollte nicht, erst wie ich den Script ausgeschaltet habe ging es.
Mit dem Umzug zum Adapter warte ich noch ein moment, hab 6 Displays glaub das wird dann ein wenig zeitaufwendiger. Ich denke beim Umzug kommen bestimmt einige Fragen:-). Danke nochmal und grüße. -
du kannst den Adapter installieren und deine Seitenconfig nach und nach übernehmen. Es darf aber nur eins von beiden laufen. Beim Start musst du die MQTT und Paneleinstellungen vom Script übernehmen, damit das Script weiter funktioniert. Ich würde dir den Umstieg zum Adapter empfehlen. Wenn du Hilfe benötigst, kannst du im Wiki schon vieles nachlesen, ansonsten frage im Adapter Post nach.
Danke, erst mal. Hab das Script auf die neuste Version gebracht seit dem geht eigentlich alles. Firmware vom Display wollte nicht, erst wie ich den Script ausgeschaltet habe ging es.
Mit dem Umzug zum Adapter warte ich noch ein moment, hab 6 Displays glaub das wird dann ein wenig zeitaufwendiger. Ich denke beim Umzug kommen bestimmt einige Fragen:-). Danke nochmal und grüße. -
hab 6 Displays glaub das wird dann ein wenig zeitaufwendiger
der Vorteil beim Adapter ist, das du Seiten die auf allen Panels gleich sind, nur einmal schreiben musst. Du musst auch nicht mit allen Panels gleichzeitig umziehen. Melde dich, wenn du den Schritt machen möchtest.
Ein kleines Problem hab ich glaube ich noch, grade hat sich der Javadapter mit:
javascript.0 2026-04-06 11:19:40.044 warn script.js.common.NsPanelWz: More than 75900 subscriptions registered. Check your script! javascript.0 2026-04-06 11:19:40.044 warn script.js.common.NsPanelWz: More than 75900 subscriptions registered. Check your script! javascript.0 2026-04-06 11:19:40.043 warn script.js.common.NsPanelWz: More than 75900 subscriptions registered. Check your script! javascript.0 2026-04-06 11:19:40.035 warn script.js.common.NsPanelWz: More than 75800 subscriptions registered. Check your script! javascript.0 2026-04-06 11:19:40.035 warn script.js.common.NsPanelWz: More than 75800 subscriptions registered. Check your script! javascript.0 2026-04-06 11:19:40.034 warn script.js.common.NsPanelWz: More than 75800 subscriptions registered. Check your script! javascript.0 2026-04-06 11:19:40.026 warn script.js.common.NsPanelWz: More than 75700 subscriptions registered. Check your script! javascript.0 2026-04-06 11:19:40.026 warn script.js.common.NsPanelWz: More than 75700 subscriptions registered. Check your script! javascript.0 2026-04-06 11:19:40.025 warn script.js.common.NsPanelWz: More than 75700 subscriptions registered. Check your script! javascript.0 2026-04-06 11:19:40.016 warn script.js.common.NsPanelWz: More than 75600 subscriptions registered. Check your script! javascript.0 2026-04-06 11:19:40.016 warn script.js.common.NsPanelWz: More than 75600 subscriptions registered. Check your script! javascript.0 2026-04-06 11:19:40.015 warn script.js.common.NsPanelWz: More than 75600 subscriptions registered. Check your script! javascript.0 2026-04-06 11:19:40.005 warn script.js.common.NsPanelWz: More than 75500 subscriptions registered. Check your script!verabschiedet.
neu ist eigentlich nur der Abschnit:
let CardThermo2Test: PageType = { type: 'cardThermo2', heading: 'Bad', thermoItems: [ /* Center-Area of cardThermo2 */ /* SET-Temp */ { id: 'alias.0.NSPanel.Thermostat_Bad', minValue: 10.0, maxValue:30.0, stepValue: 0.5, unit: "°C" }, /* Actual Temp */ { id: 'alias.0.NSPanel.Thermostat_Bad.ACTUAL', icon: 'thermometer', onColor: Orange, unit: "°C" }, /* Actual Humidity */ { id: 'alias.0.NSPanel.Thermostat_Bad.HUMIDITY', icon: 'water-percent', onColor: HMIOn, unit: "%" }, /* Text State */ { id: 'alias.0.NSPanel.Thermostat_Bad.MODE', onColor: Orange } ], items: [ /* Max 9 Entities in cardThermo2 */ { id: 'alias.0.NSPanel.TemperaturWassserSpeicher', name: 'TemperaturSpeicher', useValue: true, suffixName: '°C', fontSize: 1}, { id: 'alias.0.NSPanel.Dachfenster', name: 'Dachfenster', icon: 'window-open-variant', icon2: 'window-closed-variant', onColor: MSRed, offColor: MSGreen}, { id: 'alias.0.NSPanel.Heizung', icon: 'heat-wave', offColor: MSRed, onColor: MSGreen, name: 'Heizung'}, //{ navigate: true, id: null, targetPage: 'Abfall', onColor: White, name: 'Abfallkalender', icon: 'trash-can'}, { id: 'alias.0.NSPanel.Heizung_Spiegel', icon: 'heat-pump-outline', offColor: MSRed, onColor: MSGreen, name: 'Speigelheizung'}, { id: 'alias.0.NSPanel.Endstufe', icon: 'soundbar', offColor: MSRed, onColor: MSGreen, name: 'Endstufe'}, { id: 'alias.0.NSPanel.Lüfter',name: 'Ventilator', icon: 'fan', onColor: On, offColor: HMIOff}, //{ id: 'alias.0.NSPanel_1.TestTemperatur', name: 'Außentemperatur', offColor: White , onColor: White, useValue: true, suffixName: ' °C', fontSize: 1, colorScale: { 'val_min': -20, 'val_max': 40, 'val_best': 20 } }, { id: 'alias.0.NSPanel.Fussbodenheizung', icon: 'heating-coil', offColor: MSRed, onColor: MSGreen, name: 'Fussbodenheizung'}, { id: 'alias.0.NSPanel.Deckenbeleuchtung_Klein', icon: 'lightbulb', offColor: MSRed, onColor: MSGreen, name: 'Licht'}, //{ id: 'delete'}, //{ id: 'alias.0.NSPanel_EMU.TestKlimaVirtualModeList', icon: 'dots-horizontal-circle-outline', onColor: White, offColor: White, name: 'Betriebsmodus', modeList: ['Aus','Kühlen auf', 'Heizen auf']} ], alwaysOnDisplay: false }; let Alexa: PageType = { 'type': 'cardMedia', 'heading': 'Alexa', 'items': [{ id: AliasPath + 'Media.PlayerAlexa', adapterPlayerInstance: 'alexa2.0.', mediaDevice: 'G0911ccccc820C1L', // Eigene Seriennummer des primären Device einstellen speakerList: ['Wohnung','Wohnraum'], //analog alexa2 Music-Provider //Mögliche Playlists: playList: ['Amazon-Music-Playlist.100', 'Amazon-Music-Playlist.Onkelz', 'Amazon-Music-Playlist.Punk', 'Amazon-Music-Playlist.Poco', 'Amazon-Music-Playlist.Rock', 'Amazon-Music-Playlist.Party', 'Amazon-Music-Playlist.Dance', 'Amazon-Music-Playlist.Gut'], equalizerList: ['Bassboost','Klassik','Dance', 'Deep', 'Electronic', 'Flat', 'Hip-Hop', 'Rock', 'Metal', 'Jazz', 'Latin', 'Tonstärke', 'Lounge', 'Piano'], colorMediaIcon: colorAlexa, colorMediaArtist: Yellow, colorMediaTitle: Yellow, alwaysOnDisplay: true, autoCreateALias: true }] };Kann man hier vieleicht erkennen warum ?
Die US-Panels gehen ja beim Adapter auch?
-
Ich habe es glaube ich grade gefunden, leider nur als Bild:

Es passiert wenn ich ein Knopf auf meinem Heizungspanel drücke.
javascript.0 2026-04-06 14:03:03.500 info State value to set for "mqtt.3.cmnd.tasmota_A4ED44.CustomSend" has to be type "string" but received type "object" javascript.0 2026-04-06 14:03:01.398 warn script.js.common.NsPanelWz: More than 100 subscriptions registered. Check your script! javascript.0 2026-04-06 14:03:01.398 warn script.js.common.NsPanelWz: More than 100 subscriptions registered. Check your script! javascript.0 2026-04-06 14:03:01.397 warn script.js.common.NsPanelWz: More than 100 subscriptions registered. Check your script! javascript.0 2026-04-06 14:02:57.739 info State value to set for "mqtt.3.cmnd.tasmota_A4ED44.CustomSend" has to be type "string" but received type "object" -
Ich habe es glaube ich grade gefunden, leider nur als Bild:

Es passiert wenn ich ein Knopf auf meinem Heizungspanel drücke.
javascript.0 2026-04-06 14:03:03.500 info State value to set for "mqtt.3.cmnd.tasmota_A4ED44.CustomSend" has to be type "string" but received type "object" javascript.0 2026-04-06 14:03:01.398 warn script.js.common.NsPanelWz: More than 100 subscriptions registered. Check your script! javascript.0 2026-04-06 14:03:01.398 warn script.js.common.NsPanelWz: More than 100 subscriptions registered. Check your script! javascript.0 2026-04-06 14:03:01.397 warn script.js.common.NsPanelWz: More than 100 subscriptions registered. Check your script! javascript.0 2026-04-06 14:02:57.739 info State value to set for "mqtt.3.cmnd.tasmota_A4ED44.CustomSend" has to be type "string" but received type "object" -
Wenn ich einen von diesen Knöpfen drücke:

Führt er den "Knopf" aus, und danach kommt im Log :
javascript.0 2026-04-06 14:02:57.739 info State value to set for "mqtt.3.cmnd.tasmota_A4ED44.CustomSend" has to be type "string" but received type "object"Hier der Log aus der Tasmota Konsole, ich kann damit leider nicht so viel anfangen:
14:27:55.195 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:55.209 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:55.237 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:55.377 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:55.390 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:55.418 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:55.610 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:55.625 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:55.657 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:55.793 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:55.810 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:55.841 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:55.983 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:55.997 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:56.079 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:56.218 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:56.233 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:56.265 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:56.398 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:56.413 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:56.442 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:56.580 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:56.595 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:56.669 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:56.838 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:56.852 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:56.885 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:57.025 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:57.039 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:57.117 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:57.300 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:57.316 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:57.349 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:57.488 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:57.502 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:57.532 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:57.675 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:57.688 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:57.718 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:57.907 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:57.920 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:57.982 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:58.169 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:58.191 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:58.218 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:58.359 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:58.371 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:58.401 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:58.541 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:58.555 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:58.588 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:58.722 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:58.736 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:59.362 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:59.471 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:59.510 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:59.628 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:27.824 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:27.869 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:27.940 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.042 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.083 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.157 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.254 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.298 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.372 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.465 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.503 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.627 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.718 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.756 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.834 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:34.856 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,sleepReached,cardEntities"} 14:28:34.968 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:34.979 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:28:35.080 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:35.123 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:35.203 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:35.239 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:35.319 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} -
Wenn ich einen von diesen Knöpfen drücke:

Führt er den "Knopf" aus, und danach kommt im Log :
javascript.0 2026-04-06 14:02:57.739 info State value to set for "mqtt.3.cmnd.tasmota_A4ED44.CustomSend" has to be type "string" but received type "object"Hier der Log aus der Tasmota Konsole, ich kann damit leider nicht so viel anfangen:
14:27:55.195 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:55.209 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:55.237 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:55.377 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:55.390 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:55.418 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:55.610 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:55.625 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:55.657 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:55.793 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:55.810 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:55.841 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:55.983 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:55.997 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:56.079 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:56.218 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:56.233 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:56.265 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:56.398 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:56.413 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:56.442 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:56.580 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:56.595 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:56.669 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:56.838 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:56.852 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:56.885 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:57.025 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:57.039 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:57.117 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:57.300 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:57.316 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:57.349 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:57.488 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:57.502 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:57.532 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:57.675 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:57.688 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:57.718 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:57.907 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:57.920 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:57.982 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:58.169 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:58.191 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:58.218 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:58.359 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:58.371 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:58.401 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:58.541 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:58.555 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:58.588 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:58.722 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:58.736 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:27:59.362 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:59.471 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:59.510 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:27:59.628 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:27.824 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:27.869 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:27.940 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.042 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.083 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.157 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.254 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.298 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.372 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.465 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.503 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.627 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.718 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.756 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:29.834 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:34.856 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,sleepReached,cardEntities"} 14:28:34.968 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:34.979 MQT: tele/tasmota_A4ED44/RESULT = {"CustomRecv":"event,renderCurrentPage"} 14:28:35.080 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:35.123 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:35.203 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:35.239 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"} 14:28:35.319 MQT: stat/tasmota_A4ED44/RESULT = {"CustomSend":"Done"}State value to set for "mqtt.3.cmnd.tasmota_A4ED44.CustomSend" has to be type "string" but received type "object
der Datenpunkt steht auf String, wie bei mir. Ich bekomme aber eine solche Meldung nicht. Eventuell ist beim Script kopieren etwas schief gelaufen.
nimm mal ein komplettes leeres Script und passe nur Punkt 1 (tasmota) und 2 (userPfad) an und starte dieses einmal.Ich habe es glaube ich grade gefunden, leider nur als Bild:
ich vermute mal eine falsche Einstellung in deiner MQTT Instanz. es werden 3 Topics abonniert und gepublisht
-
Hallo, ich hoffe, ich bin hier richtig.. ich habe heute mein NSPanel auf Tasmota (15.3.0 nspanel) geflasht und dann das Display (nach 2 Versuchen..) auf Lovelace. Nun wollte ich das Typescript zum Laufen bekommen, aber es geht schon damit los, dass mir unter dem sonoff-MQTT-Adapter diese Unterverzeichnisse TELE etc. nicht angelegt wurden, es gibt also kein RESULT-Objekt, nur ein CustomRecv.
Hat sich da was grundlegend geändert? Für Hilfe wäre ich echt dankbar..
-
Hallo, ich hoffe, ich bin hier richtig.. ich habe heute mein NSPanel auf Tasmota (15.3.0 nspanel) geflasht und dann das Display (nach 2 Versuchen..) auf Lovelace. Nun wollte ich das Typescript zum Laufen bekommen, aber es geht schon damit los, dass mir unter dem sonoff-MQTT-Adapter diese Unterverzeichnisse TELE etc. nicht angelegt wurden, es gibt also kein RESULT-Objekt, nur ein CustomRecv.
Hat sich da was grundlegend geändert? Für Hilfe wäre ich echt dankbar..
hier geht es um dieses Projekt, wie im Wiki beschrieben https://github.com/joBr99/nspanel-lovelace-ui/wiki
hast du dich an die Instalationsroutine gehalten? https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---Basisinstallation#step-für-step---anleitung
-
State value to set for "mqtt.3.cmnd.tasmota_A4ED44.CustomSend" has to be type "string" but received type "object
der Datenpunkt steht auf String, wie bei mir. Ich bekomme aber eine solche Meldung nicht. Eventuell ist beim Script kopieren etwas schief gelaufen.
nimm mal ein komplettes leeres Script und passe nur Punkt 1 (tasmota) und 2 (userPfad) an und starte dieses einmal.Ich habe es glaube ich grade gefunden, leider nur als Bild:
ich vermute mal eine falsche Einstellung in deiner MQTT Instanz. es werden 3 Topics abonniert und gepublisht
State value to set for "mqtt.3.cmnd.tasmota_A4ED44.CustomSend" has to be type "string" but received type "object
der Datenpunkt steht auf String, wie bei mir. Ich bekomme aber eine solche Meldung nicht. Eventuell ist beim Script kopieren etwas schief gelaufen.
nimm mal ein komplettes leeres Script und passe nur Punkt 1 (tasmota) und 2 (userPfad) an und starte dieses einmal.Ich habe es glaube ich grade gefunden, leider nur als Bild:
ich vermute mal eine falsche Einstellung in deiner MQTT Instanz. es werden 3 Topics abonniert und gepublisht
Ich habe dies bei drei Panels, alle mit der Bad Heizung. Alle anderen Knöpfe auf anderen Seiten gehen ohne diese Meldung. Kann das wirklich am kopieren des Scrips liegen?
Hier die Einstellungen meiner Java Instanz:



Und hier die Seiten Config von einem Panel:
//-- Anfang für eigene Seiten -- z.T. selbstdefinierte Aliase erforderlich ---------------- //-- Start for your own pages -- some self-defined aliases required ---------------- let CardThermo2Test: PageType = { type: 'cardThermo2', heading: 'Bad', thermoItems: [ /* Center-Area of cardThermo2 */ /* SET-Temp */ { id: 'alias.0.NSPanel.Thermostat_Bad', minValue: 10.0, maxValue:30.0, stepValue: 0.5, unit: "°C" }, /* Actual Temp */ { id: 'alias.0.NSPanel.Thermostat_Bad.ACTUAL', icon: 'thermometer', onColor: Orange, unit: "°C" }, /* Actual Humidity */ { id: 'alias.0.NSPanel.Thermostat_Bad.HUMIDITY', icon: 'water-percent', onColor: HMIOn, unit: "%" }, /* Text State */ { id: 'alias.0.NSPanel.Thermostat_Bad.MODE', onColor: Orange } ], items: [ /* Max 9 Entities in cardThermo2 */ { id: 'alias.0.NSPanel.TemperaturWassserSpeicher', name: 'TemperaturSpeicher', useValue: true, suffixName: '°C', fontSize: 1}, { id: 'alias.0.NSPanel.Dachfenster', name: 'Dachfenster', icon: 'window-open-variant', icon2: 'window-closed-variant', onColor: MSRed, offColor: MSGreen}, { id: 'alias.0.NSPanel.Heizung', icon: 'heat-wave', offColor: MSRed, onColor: MSGreen, name: 'Heizung'}, //{ navigate: true, id: null, targetPage: 'Abfall', onColor: White, name: 'Abfallkalender', icon: 'trash-can'}, { id: 'alias.0.NSPanel.Heizung_Spiegel', icon: 'heat-pump-outline', offColor: MSRed, onColor: MSGreen, name: 'Speigelheizung'}, { id: 'alias.0.NSPanel.Endstufe', icon: 'soundbar', offColor: MSRed, onColor: MSGreen, name: 'Endstufe'}, { id: 'alias.0.NSPanel.Lüfter',name: 'Ventilator', icon: 'fan', onColor: On, offColor: HMIOff}, //{ id: 'alias.0.NSPanel_1.TestTemperatur', name: 'Außentemperatur', offColor: White , onColor: White, useValue: true, suffixName: ' °C', fontSize: 1, colorScale: { 'val_min': -20, 'val_max': 40, 'val_best': 20 } }, { id: 'alias.0.NSPanel.Fussbodenheizung', icon: 'heating-coil', offColor: MSRed, onColor: MSGreen, name: 'Fussbodenheizung'}, { id: 'alias.0.NSPanel.Deckenbeleuchtung_Klein', icon: 'lightbulb', offColor: MSRed, onColor: MSGreen, name: 'Licht'}, //{ id: 'delete'}, //{ id: 'alias.0.NSPanel_EMU.TestKlimaVirtualModeList', icon: 'dots-horizontal-circle-outline', onColor: White, offColor: White, name: 'Betriebsmodus', modeList: ['Aus','Kühlen auf', 'Heizen auf']} ], alwaysOnDisplay: false }; let Bad_1 = <PageEntities> { 'type': 'cardEntities', 'heading': 'Bad', 'useColor': true, 'items': [ <PageItem>{ id: 'alias.0.NSPanel.Deckenbeleuchtung_Gross', interpolateColor: true, name: 'Licht Gross'}, <PageItem>{ id: 'alias.0.NSPanel.Deckenbeleuchtung_Klein', interpolateColor: true, name: 'Licht Klein'}, <PageItem>{ id: 'alias.0.NSPanel.Lüfter', icon: 'power', offColor: MSRed, onColor: MSGreen, name: 'Lüfter'}, <PageItem>{ id: 'alias.0.NSPanel.Endstufe', icon: 'power', offColor: MSRed, onColor: MSGreen, name: 'Endstufe'} //<PageItem>{ id: 'alias.0.NSPanel.Heizung_Spiegel', icon: 'power', offColor: MSRed, onColor: MSGreen, name: 'Spiegelheizung'} }; let Bad_2 = <PageEntities> { 'type': 'cardEntities', 'heading': 'Bad 2', 'useColor': true, 'items': [ <PageItem>{ id: 'alias.0.NSPanel.Heizung_Spiegel', icon: 'power', offColor: MSRed, onColor: MSGreen, name: 'Speigelheizung'}, <PageItem>{ id: 'alias.0.NSPanel.Dachfenster', onColor: White, name: 'Dach Kuppel'}, <PageItem>{ id: 'alias.0.NSPanel.Heizung', icon: 'power', offColor: MSRed, onColor: MSGreen, name: 'Heizung'}, <PageItem>{ id: 'alias.0.NSPanel.Fussbodenheizung', icon: 'power', offColor: MSRed, onColor: MSGreen, name: 'Fussbodenheizung'}, }; let SensorGrid = <PageGrid> { 'type': 'cardGrid', 'heading': 'Wetter', 'useColor': true, 'items': [ <PageItem>{ id: 'alias.0.NSPanel.Aussentemperatur', name: 'Außentemp. °C', offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': -20, 'val_max': 40, 'val_best': 20} }, <PageItem>{ id: 'alias.0.NSPanel.Luftfeuchte', name: 'Luftfeuchte %', offColor: MSYellow, onColor: MSYellow , useValue: true, colorScale: {'val_min': 0, 'val_max': 100, 'val_best': 65} }, <PageItem>{ id: 'alias.0.NSPanel.Taupunkt', name: 'Taupunkt °C', offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': -20, 'val_max': 40, 'val_best': 20} }, <PageItem>{ id: 'alias.0.NSPanel.UV_Index', name: 'UV Index', offColor: White , onColor: White, useValue: true, colorScale: {'val_min': 0, 'val_max': 12} }, <PageItem>{ id: 'alias.0.NSPanel.Windgeschwindigkeit', name: 'Windstärke bft', offColor: White , onColor: White, useValue: true, colorScale: {'val_min': 0, 'val_max': 9} }, <PageItem>{ id: 'alias.0.NSPanel.Luftdruck', name: 'Luftdruck hPa', offColor: White , onColor: White, useValue: true, colorScale: {'val_min': 950, 'val_max': 1050, 'val_best': 1013} }, ] }; var Energie = <PagePower> { "type": "cardPower", "heading": "cardPower Emulator", "useColor": true, "subPage": false, "parent": undefined, "items": [ // <PageItem>{ }, //Demomode <PageItem>{ id: "alias.0.NSPanel.PowerCard1" }, ] }; let Alexa: PageType = { 'type': 'cardMedia', 'heading': 'Alexa', 'items': [{ id: AliasPath + 'Media.PlayerAlexa', adapterPlayerInstance: 'alexa2.0.', mediaDevice: 'G090Lcccccc209F3', // Eigene Seriennummer des primären Device einstellen speakerList: ['Wohnung','Wohnraum'], //analog alexa2 Music-Provider //Mögliche Playlists: playList: ['Amazon-Music-Playlist.Papa', 'Amazon-Music-Playlist.Onkelz', 'Amazon-Music-Playlist.Traditionshüter', 'Amazon-Music-Playlist.Poco', 'Amazon-Music-Playlist.Rock', 'Amazon-Music-Playlist.Party', 'Amazon-Music-Playlist.Dance', 'Amazon-Music-Playlist.Gut'], equalizerList: ['Bassboost','Klassik','Dance', 'Deep', 'Electronic', 'Flat', 'Hip-Hop', 'Rock', 'Metal', 'Jazz', 'Latin', 'Tonstärke', 'Lounge', 'Piano'], colorMediaIcon: colorAlexa, colorMediaArtist: Yellow, colorMediaTitle: Yellow, alwaysOnDisplay: true, autoCreateALias: true }] }; //-- https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Page-%E2%80%90-Typen_How-2_Beispielekann es was damit zu tun haben das ich die aliase öffter verwende.
Hab den Java Adapter grade mal auf "alles" im Log gestellt:
2026-04-06 17:46:14.605 - [32minfo[39m: javascript.0 (10433) State value to set for "mqtt.3.cmnd.tasmota_A4ED44.CustomSend" has to be type "string" but received type "object" 2026-04-06 17:46:14.608 - [35msilly[39m: javascript.0 (10433) States user redis pmessage */mqtt.3.cmnd.tasmota_A4ED44.CustomSend:{"val":{"ack":false},"ack":false,"ts":1775490374603,"q":0,"c":"script.js.common.NsPanelWz","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1775490374603}2026-04-06 17:46:14.590 - [35msilly[39m: javascript.0 (10433) States user redis pmessage */0_userdata.0.NSPanel.2.Event.Button.Action:{"val":"button","ack":true,"ts":1775490374585,"q":0,"c":"script.js.common.NsPanelWz","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1775490374585} 2026-04-06 17:46:14.591 - [35msilly[39m: javascript.0 (10433) States user redis pmessage */0_userdata.0.NSPanel.2.Event.Button.Value:{"val":"","ack":true,"ts":1775490374585,"q":0,"c":"script.js.common.NsPanelWz","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1775490369889} 2026-04-06 17:46:14.593 - [35msilly[39m: javascript.0 (10433) States user redis pmessage */0_userdata.0.NSPanel.2.Event.Button.Id:{"val":"alias.0.NSPanel.Heizung","ack":true,"ts":1775490374585,"q":0,"c":"script.js.common.NsPanelWz","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1775490374585}2026-04-06 17:46:13.738 - [35msilly[39m: javascript.0 (10433) States user redis pmessage */mqtt.3.stat.tasmota_A4ED44.LOGGING:{"val":"17:46:12.494 MQT: stat/tasmota_A4ED44/RESULT = {\"CustomSend\":\"Done\"}","ack":true,"ts":1775490373701,"q":0,"from":"system.adapter.mqtt.3","user":"system.user.admin","lc":1775490373701} 2026-04-06 17:46:13.740 - [35msilly[39m: javascript.0 (10433) States user redis pmessage */mqtt.3.stat.tasmota_A4ED44.LOGGING:{"val":"17:46:12.550 MQT: stat/tasmota_A4ED44/RESULT = {\"CustomSend\":\"Done\"}","ack":true,"ts":1775490373701,"q":0,"from":"system.adapter.mqtt.3","user":"system.user.admin","lc":1775490373701} 2026-04-06 17:46:13.742 - [35msilly[39m: javascript.0 (10433) States user redis pmessage */mqtt.3.stat.tasmota_A4ED44.LOGGING:{"val":"17:46:12.862 MQT: stat/tasmota_A4ED44/RESULT = {\"CustomSend\":\"Done\"}","ack":true,"ts":1775490373701,"q":0,"from":"system.adapter.mqtt.3","user":"system.user.admin","lc":1775490373701} 2026-04-06 17:46:13.744 - [35msilly[39m: javascript.0 (10433) States user redis pmessage */mqtt.3.stat.tasmota_A4ED44.LOGGING:{"val":"17:46:12.877 MQT: tele/tasmota_A4ED44/RESULT = {\"CustomRecv\":\"event,renderCurrentPage\"}","ack":true,"ts":1775490373701,"q":0,"from":"system.adapter.mqtt.3","user":"system.user.admin","lc":1775490373701}2026-04-06 17:46:13.696 - [35msilly[39m: javascript.0 (10433) States user redis pmessage */mqtt.3.stat.tasmota_A4ED44.LOGGING:{"val":"17:46:12.339 MQT: tele/tasmota_A4ED44/RESULT = {\"CustomRecv\":\"event,buttonPress2,bPrev,button\"}","ack":true,"ts":1775490373601,"q":0,"from":"system.adapter.mqtt.3","user":"system.user.admin","lc":1775490373601}
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
