Hauptmenü

Neueste Beiträge

#1
MQTT / Aw: Umzug von Bullseye nach Tr...
Letzter Beitrag von Rampler - 01 Dezember 2025, 10:31:22
@Rudolf, danke fürs einchecken.
MQTT2 habe ich bereits auf meiner ToDo Liste, allerdings wird das bei mir etwas aufwendiger. Sind doch 26 MQTT Device, auf Basis von ESP8266 (Letscontrolit).
Mir fehlt irgendwie die Motivation umzustellen, da das Ergebnis am Ende das gleiche wie jetzt ist, halt nur mit MQTT2, statt MQTT.

@betateilchen

2025.11.30 20:20:38 1: PERL WARNING: Attempt to call undefined import method with arguments (":all") via package "TcpServerUtils" (Perhaps you forgot to load the package?) at ./FHEM/98_Modbus.pm line 185, <$fh> line 1934.

2025.11.30 20:28:35 1: PERL WARNING: Smartmatch is deprecated at FHEM/TimeSeries.pm line 113.

2025.11.30 20:34:55 1: PERL WARNING: Attempt to call undefined import method with arguments (":all") via package "SetExtensions" (Perhaps you forgot to load the package?) at ./FHEM/98_Modbus.pm line 180, <$fh> line 1934.


Und sehr viele andere Fehlermeldungen, welche aber sehr viele folgen von dem MQTT Thema waren.
#2
Heizungssteuerung/Raumklima / Aw: Vitoconnect - Verbesserte ...
Letzter Beitrag von wieral - 01 Dezember 2025, 10:22:07
Hi Stefan,

vielen Dank für deine Bemühungen.
Werde die Sache im Auge beahlten ;)

Gruß
Ralf
#3
Heizungssteuerung/Raumklima / Aw: Vitoconnect - Verbesserte ...
Letzter Beitrag von stefanru - 01 Dezember 2025, 10:15:58
Hi Ralf,

heating.power.consumption.heating.day     0.3,17.3,19.4,24.7,30.1,36.6,36.7,44.9          2025-12-01 09:51:15
heating.power.consumption.heating.day.asSingleValue     8.8                               2025-11-29 23:59:59
heating.power.consumption.heating.dayValueReadAt        2025-11-30T22:58:29.954Z          2025-12-01 09:51:15

Der Zeitstepel wann die daten geliefert wurden ist also dayValueReadAt =  2025-11-30.
D.h.
30.11. = 0.3  <--- nicht vollständiger Tag wird nicht geschrieben
29.11. = 17.3
28.11. = 19.4
27.11. = 24.7
26.11. = 30.1
25.11. = 36.6
24.11. = 36.7
23.11. = 44.9

Warum passt dein wert am 29.11. nicht?
Der Fix wurde erst am 30.11. eingebaut. Somit wirst du den Erfolg erst sehen wenn die API wieder Werte liefert.
Das ist der Fall wenn sich der Zeitstempel in dayValueReadAt wieder ändert.
Beim nächsten mal sollte alles passen und so gemacht werden wie oben.
Der 29.11. ist jetzt leider erstmal geschrieben. Das asSingleValue wird beim nächsten API Update dann aber stimmen.

Gruß,
Stefan
#4
Heizungssteuerung/Raumklima / Aw: Vitoconnect - Verbesserte ...
Letzter Beitrag von wieral - 01 Dezember 2025, 10:06:56
Hallo Stefan,

vielen Dank.
Ich bin mir nicht sicher, aber ich hoffe, dass sind die Daten die benötigst.
heating.power.consumption.heating.day     0.3,17.3,19.4,24.7,30.1,36.6,36.7,44.9          2025-12-01 09:51:15
heating.power.consumption.heating.day.asSingleValue     8.8                               2025-11-29 23:59:59
heating.power.consumption.heating.dayValueReadAt        2025-11-30T22:58:29.954Z          2025-12-01 09:51:15
heating.power.consumption.heating.month 623.4,287.6,75.9,3.7,0,0,22,160.3,819.5,1392.2,1345.5,690.6,565.1  2025-12-01 09:51:15
heating.power.consumption.heating.monthValueReadAt      2025-11-28T15:49:54.623Z          2025-12-01 09:51:15
heating.power.consumption.heating.week                  0.3,209.7,262.6,91.4,80.8         2025-12-01 09:51:15
heating.power.consumption.heating.weekValueReadAt       2025-11-30T22:58:29.954Z          2025-12-01 09:51:15
heating.power.consumption.heating.year                  4777,1373.1                       2025-12-01 09:54:53
heating.power.consumption.heating.yearValueReadAt       2025-11-30T22:58:29.954Z          2025-12-01 09:51:15


Gruß
Ralf
#5
Sprachsteuerung / Aw: Zahlenwert mit Alexa über ...
Letzter Beitrag von Prof. Dr. Peter Henning - 01 Dezember 2025, 10:02:46
Arbeitshypothese: "Kaki" ist keine heimische (<= "Home") Frucht, darum geht das nicht. "Himbeere" hingegen sehr wohl...  8)

LG

pah
#6
FHEM Development / Aw: Keine commits mehr unter F...
Letzter Beitrag von betateilchen - 01 Dezember 2025, 09:58:58
Danke für die Korrektur!
#7
FHEM Development / Aw: TimeSeries.pm -> Smartmatc...
Letzter Beitrag von betateilchen - 01 Dezember 2025, 09:57:25
Fühlt sich eigentlich irgendjemand berufen, die Änderung an der Datei vorzunehmen und einzuchecken, bevor noch mehr Meldungen von Anwendern im Forum auftauchen?

z.B. https://forum.fhem.de/index.php?topic=143195.0
#8
MQTT / Aw: Umzug von Bullseye nach Tr...
Letzter Beitrag von betateilchen - 01 Dezember 2025, 09:55:23
Zitat von: Rampler am 30 November 2025, 20:44:32vermutlich bin ich einfach zu früh dran mit Trixie...

Ich bin schon einige Zeit mit Trixie unterwegs und habe keine Meldungen im Log.
Was hast Du denn noch für Meldungen?

Übrigens ist nicht jede Perl Warning automatisch auch ein Fehler :)
#9
fronthem / smartVISU / Aw: Smartvisu V3.2.2 -> V3.5 U...
Letzter Beitrag von curiosus - 01 Dezember 2025, 09:54:08
here we go:

<svdir>/widgets/lib.html

/**
* -----------------------------------------------------------------------------
* @package     smartVISU
* @author      Martin Gleiß
* @copyright   2012 - 2024
* @license     GPL [http://www.gnu.de]
* -----------------------------------------------------------------------------
*/


/**
* the smartVISU-logo
*/
{% macro smartvisu(mode) %}

{% if mode == 'app' %}
<div class="app">
<div class="image">
<div class="smartvisu"><span class="smart"></span><br /><span class="visu">rHM</span></div>
</div>
</div>
{% else %}
<span class="smartvisu"><span class="smart"></span><span class="visu">rHM</span></span>
{% endif %}

{% endmacro %}


/**
* Check for new updates of smartVISU
*/
{% macro updatecheck( ) %}
{% if config_updatecheck %}
<script>
$('#index').on('pagecreate', function (event, ui) {
$.ajax({
dataType: 'json',
url: 'lib/base/check_update.php?local={{ config_version_full }}',
beforeSend: function(jqXHR, settings) { jqXHR.svProcess = 'Update Check'; },
success: function (data) {
if (data.update) {
notify.message('update', data.text, sv_lang['update']['local'] +': <b>' + data.local + '</b><br>' +
sv_lang['update']['remote'] +': <b>' + data.remote + '</b><br><br>' +
sv_lang['update']['visit'] + ' <a target="_blank" href="http://smartvisu.de">smartVISU.de</a> '+ sv_lang['templatechecker']['or'] +
' <a target="_blank" href="http://github.com/martin-gleiss/smartvisu">github</a> ' + sv_lang['update']['latest'] + '!<br><br>'+
'<a target="_blank" href="http://github.com/martin-gleiss/smartvisu/blob/master/changelog.md">' + sv_lang['update']['view'] + '</a><br><br>'+
sv_lang['update']['recheck'] + '. <br />');
}
}
})
.fail(notify.json);
});
</script>
{% else %}
<!-- Check for updates disabled in configuration -->
{% endif %}
{% endmacro %}


/**
* Widget to place an app-symbol
* If you write an app yourself, place a @title, @icon, @color tag in your
* header. These tags are used to display the symbol
*
* @param        the name of the app (located in pages/apps)
* @param        title of the app
*/
{% macro app(name, title) %}

{% set app = docu('apps/'~name~'.html') %}

<div class="app">
<a href="index.php?page={{ name }}">
<div class="image" style="background-color: #{{ app.color }};"><img src="{{ app.icon }}" alt="{{ app.name }}"></div>
<div>{{ title|default(app.title|e) }}</div>
</a>
</div>
{% endmacro %}

/**
* Widget to show websocket connection
*
*/
{% macro connection( ) %}
{% import "@widgets/basic.html" as basic %}
<span id="{{ page }}-connection"></span>
<script>
$('#{{ page }}-connection').html(io.socket.url);
if (io.server != undefined) {
if (io.server != '') { // if io.server already set write it directly
var connectString = 'smarthomeNG Websocket Server: '+ io.server + ', '+ sv_lang['system']['connected']+': '+ io.opentime.transUnit('short') +
'<br>Websocket URL:&nbsp;&nbsp;' + io.socket.url;
$('#{{ page }}-connection').html(connectString);
} else {
$(document).on('ioAlive', function(){   //else wait for ioAlive event and write then
if (io.server != '' ) {
var connectString = 'smarthomeNG Websocket Server: '+ io.server + ', '+ sv_lang['system']['connected'] + ': '+ io.opentime.transUnit('short') +
'<br>Websocket URL:&nbsp;&nbsp;' + io.socket.url;
$('#{{ page }}-connection').html(connectString);
}
})
}
}
</script>
{% endmacro %}

/**
* Button to send a timestamp to an item (for countdown docu page)
*
* @param {id} unique id for the widget. Mandatory in order to identify the button in a page with more than one button
* @param {item(num)} the item
*
* @Author: Wolfram v. Hülsen
*/
{% macro timestamp (id, item) %}
<button type="button" data-theme="a" data-inline="true" id="send_timestamp_{{ uid(page, id) }}" class="ui-midi">Trigger</button> Click to start
<script>
$('#send_timestamp_{{ uid(page, id) }} ').click(function() {
var now = +new Date();
io.write('{{ item }}', now );
});
</script>
{% endmacro %}

/**
* Extend a single block to full screen width
*
* @param {id=} unique id for the widget.
*
* @Author: bonze  (plot resize and icon management by Wolfram v. Hülsen)
*/
{% macro supersize ( id ) %}
{% set uid = uid(page, id) %}
{% import _self as lib %}
<span{% if not id is empty %} id="{{ uid(page, id) }}"{% endif %} >
<a>{{ lib.svgimg ('', 'control_centr_arrow_up_right.svg', 'supersize icon0 sizesmall') }}</a>
<a>{{ lib.svgimg ('', 'jquery_minus.svg', 'supersize icon0 sizebig', 'display:none;') }}</a>
</span>
<script>
$(".supersize").closest("div").on("collapsiblecreate", function (event, ui){
var element = $(this);
if (element.parent().attr("data-iconpos") == "right")
element.collapsible({iconpos: "none"});
});

$(".supersize").click(function (e) {
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
var element = $(this).closest("div");
var previousWidth = parseFloat(element.css('width').replace('px',''));
var previousHeight = parseFloat(element.find('.ui-collapsible-content').css('height').replace('px',''));

if (!element.hasClass('overlay')){
$(".mask").css('display','block');
element.addClass("overlay").show();
element.collapsible('expand');
element.find("h3").addClass("ui-corner-all");
element.find(".supersize.sizesmall").hide();
element.find(".supersize.sizebig").show();
element.find(".supersize").attr("data-ypos", Math.round(window.scrollY));
element.find('.highcharts-root').addClass('supersized');
$.mobile.silentScroll(0);
}else{
$(".mask").css('display','none');
element.removeClass("overlay");
element.find("h3").removeClass("ui-corner-all");
element.find(".supersize.sizebig").hide();
element.find(".supersize.sizesmall").show();
element.find('.highcharts-root').removeClass('supersized');
var previousPosition = element.find(".supersize").attr("data-ypos")*1;
$.mobile.silentScroll(previousPosition);
}
var actualWidth = parseInt(element.css('width').replace('px',''));
var sizeFactor = actualWidth / previousWidth;
element.find('.ui-collapsible-content').css('height', previousHeight * sizeFactor)
.find('.plot').each(function() {
var actualPlotHeight = parseFloat($(this).css('height').replace('px',''));
$(this).css('height', actualPlotHeight * sizeFactor);
$(this).highcharts().setSize(null, null);
}).end()
.find('[data-widget="device.uzsutable"] .highcharts-root').css('max-height', sizeFactor < 1 ? '' : 400*sizeFactor+"px");
});
</script>
{% endmacro %}

/**
* Embed an svg icon into html DOM in order to make it styleable.   
  icon must be available in ./icons/ws or ./dropins/icons/ws. Otherwise use &lt;img src=... with icon path and name
*
* @param {text=} optional id for the icon
* @param {text} icon name e.g. 'myicon' or 'myicon.svg'
* @param {text=} CSS classes for the icon (optional, default='')
* @param {text=} styling options in CSS notation (optional, default='')
*
* @Author: Wolfram v. Hülsen
*/
{% macro svgimg ( id, pic, iconclass, styleoptions ) %}
{% set pic = localize_svg(pic) %}
<svg class="icon {{ iconclass }}" {% if not id is empty %} id="{{ uid(page, id) }}"{% endif %} {{ (styleoptions is not empty ? 'style ="' ~ styleoptions ~'"' : '')|raw }} role="img" aria-label="{{ pic|split('/')|last|split('.')[0:-1]|join('.') }}"
{{ source( pic )|split('<svg')[1]|replace( {'stroke="#fff"':'', 'fill="#fff"':'', 'stroke="#FFF"':'', 'fill="#FFF"':''} )|raw }}
{% endmacro %}

good luck
Klaus
#10
FHEM Code changes / Revision 30572: 10_MQTT_DEVICE...
Letzter Beitrag von System - 01 Dezember 2025, 09:40:26
Revision 30572: 10_MQTT_DEVICE.pm: fix problem with current perl version (Forum #143194)

10_MQTT_DEVICE.pm: fix problem with current perl version (Forum: #143194)

Source: Revision 30572: 10_MQTT_DEVICE.pm: fix problem with current perl version (Forum #143194)