Hauptmenü

Neueste Beiträge

#1
FHEM Code changes / Revision 29201: 76_SolarForeca...
Letzter Beitrag von System - 06 Oktober 2024, 01:30:38
Revision 29201: 76_SolarForecast: contrib 1.34.2

76_SolarForecast: contrib 1.34.2

Source: Revision 29201: 76_SolarForecast: contrib 1.34.2
#2
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 06 Oktober 2024, 00:31:12
Hallo Gisbert,

Zitatmir ist noch eine kleine Ungereimtheit bei der Tabelle aufgefallen.
Oberhalb der Tabelle ist verhältnismäßig viel ungenutzer Platz.
Der Bereich scheint aus 2 Teilfeldern zu bestehen.
Das sieht bei mir sauber aus.
Ist dein Device in einen besonderen Style oder etwas in der Art eingebunden?

LG
#3
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 06 Oktober 2024, 00:26:58
Ich habe es etwas anders umgesetzt:

################################################################
#    berechne Icon Scale auf Bezugsnorm
#    widht:   470pt
#    height:  470pt
#    scale:   0.10
################################################################
sub __normIconScale {               
  my $name  = shift;
  my $icon  = shift;
 
  my $scale = 0.10;                                                 # default Scale
  my ($height, $unit) = $icon =~ /height="(\d+\.\d+|\d+)(.*?)"/xs;
 
  return $scale if(!$height);
 
  $scale = $unit eq 'pt' ? 470 * $scale /$height             :
           $unit eq 'px' ? 470 * $scale /$height * 0.96      :
           $unit eq 'in' ? 470 * $scale /$height * 0.0138889 :
           $scale;
 
  $scale = sprintf "%.2f", $scale;

return $scale;
}

In der Flowgrafik werden jetzt alle (FHEM) Icons entsprechend behandelt.
Es gibt auch Icons mit mm, das muß noch integriert werden.

Die V liegt im contrib.
#4
Sonstige Systeme / Aw: fhempy: tuya (lokal)
Letzter Beitrag von stefanru - 05 Oktober 2024, 23:27:41
Ok, das verstehe ich nicht. Wenn du ein define machst passiert das nicht?
Sollte dann auch so passieren.

Gruß,
Stefan
#5
TabletUI / Aw: FTUI version 3
Letzter Beitrag von Superposchi - 05 Oktober 2024, 23:19:17
Um was für ein Thermostat handelt es sich?

Bei Homatic Classic kann man Gruppen bilden um zum Beispiel mehere Thermostate in einem Raum gleich zu steuern.
#6
TabletUI / Aw: FTUI version 3
Letzter Beitrag von Bozan - 05 Oktober 2024, 22:04:33
Guten Abend an alle!
Ich habe eine vermutlich eher ungewöhnliche Fragestellung, aber evtl. kann mir dabei doch jemand helfen.
Mittels <ftui-thermostat> steuere ich auf meiner FTUI3 Oberfläche ein Thermostat, was auch tadellos funktioniert.
Nun würde ich aber gerne den Übergabewert nicht nur an dies eine Device senden, sondern parallel auch noch an ein Zweites.
Ist dies denn prinzipiell machbar oder kann ich über das Thermostat-Modul eben nur ein Device ansprechen?
Gäbe es dann ein Hilfskonstrukt, um den Wert auch noch auf ein anderes Device zu bekommen oder muss ich eben zwangsläufig über eine weitere Kachel das zweite Device separat steuern?
Besten Dank für Eure Kommentare.
#7
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von kask - 05 Oktober 2024, 21:40:22
sub geticonscale($) {
  my ($svgstr) = @_;
  if ($svgstr =~ /height="(\d+)pt"/) {
    return sprintf("%.2f", 47/$1);
  } elsif ($svgstr =~ /height="(\d+)px"/) {
    return sprintf("%.2f", 47/($1*0.96));
  } elsif ($svgstr =~ /height="([\d.]+)in"/) {
    return sprintf("%.2f", 47/($1*72));
  } else {
    return 0.1;
  }
}
}

edit.:
So geht es mit pt,px & in. So sind die Faktoren. Basis ist die pt(Punkt) Einheit.
Sollte man auch mit den Consumern machen.

Einmal mit der Funktion und einmal ohne angehangen.
Die Icons sind pt, px, in. Von Links nach Rechts.

#8
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von kask - 05 Oktober 2024, 21:28:24
ich probiere auch gerade, so funktioniert es mit pt values.

für pt:
sub geticonscale($) {
  my ($svgstr) = @_;
  if ($svgstr =~ /height="(\d+)pt"/) {
    return sprintf("%.2f", 47/$1);
  } else {
    return 0.1;
  }
}

im sub _flowGraphic  call
  if ($flowgprods) {
      if ($producercount % 2) {
          $producer_start = 350 - ($consDist  * (($producercount -1) / 2));
      }
      else {
          $producer_start = 350 - (($consDist / 2) * ($producercount-1));
      }

      $pos_left = $producer_start + 25;
     
      for my $prnxnum (@producers) {
          my $palias = CurrentVal ($hash, 'aliasp'.$prnxnum, 'Producer'.$prnxnum);
          my $picon  = __substituteIcon ( { hash  => $hash,                                    # Icon des Producerdevices
                                            name  => $name,
                                            pn    => $prnxnum,
                                            pcurr => $ppcurr->{$prnxnum}
                                          }
                                        );
          $icontxt = FW_makeImage($picon, '');
          $iconscale = geticonscale($icontxt);
          ##$iconscale = 0.15;
          $ret .= '<g id="producer_'.$prnxnum.'" fill="grey" transform="translate('.$pos_left.',0),scale('.$iconscale.')">';
          $ret .= "<title>$palias</title>".$icontxt;
          $ret .= '</g> ';

          $pos_left += $consDist;
      }
  }

#9
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von Gisbert - 05 Oktober 2024, 21:25:25
Hallo Heiko,

mir ist noch eine kleine Ungereimtheit bei der Tabelle aufgefallen.
Oberhalb der Tabelle ist verhältnismäßig viel ungenutzer Platz.
Der Bereich scheint aus 2 Teilfeldern zu bestehen. Ich hab 2 Screenshots angehängt, hoffentlich kann man halbwegs erkennen, was ich meine.
Am liebsten wäre mir, wenn dieser Bereich minimal klein gehalten werden könnte.

Viele Grüße Gisbert

#10
Anfängerfragen / fhemInstaller und empfohlene M...
Letzter Beitrag von riker1 - 05 Oktober 2024, 21:11:16
Hallo

der FHem Installer empfihelt mit DBD::MariaDB zu installieren.
Nutze mysql als dblog

beim Installieren gibt es aber eine Fehlermeldung.

my sql läuft in der Version.
mariadb -V
mariadb  Ver 15.1 Distrib 10.6.18-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper


Braucht man dieses Modul DBD::MariaDB ?

Das Fehlerlog übersteigt meine Perl und Linux kenntnisse.

Danke für Hilfe und Tips.
VG Thomas

cpanm (App::cpanminus) 1.7046 on perl 5.034000 built for x86_64-linux-gnu-thread-multi
Work directory is /root/.cpanm/work/1728153468.1032842
You have make /usr/bin/make
You have LWP 6.61
You have /usr/bin/tar: tar (GNU tar) 1.34
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
You have /usr/bin/unzip
Searching DBD::MariaDB () on cpanmetadb ...
--> Working on DBD::MariaDB
Fetching http://www.cpan.org/authors/id/P/PA/PALI/DBD-MariaDB-1.23.tar.gz
-> OK
Unpacking DBD-MariaDB-1.23.tar.gz
Entering DBD-MariaDB-1.23
Checking configure dependencies from META.json
Checking if you have DBI 1.608 ... Yes (1.643)
Checking if you have Getopt::Long 0 ... Yes (2.52)
Checking if you have File::Spec 0 ... Yes (3.80)
Checking if you have utf8 0 ... Yes (1.24)
Checking if you have warnings 0 ... Yes (1.51)
Checking if you have Config 0 ... Yes (5.034000)
Checking if you have Devel::CheckLib 1.12 ... Yes (1.16)
Checking if you have strict 0 ... Yes (1.12)
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.62)
Checking if you have Data::Dumper 0 ... Yes (2.179)
Configuring DBD-MariaDB-1.23
Running Makefile.PL
Failed to determine directory of mysql.h. Use

  perl Makefile.PL --cflags=-I<dir>

to set this directory. For details see DBD::MariaDB::INSTALL,
section "C Compiler flags" or type

  perl Makefile.PL --help

Cannot find the file 'mariadb_config' nor 'mysql_config'! Your execution PATH doesn't seem
not contain the path to mariadb_config or mysql_config. Resorting to guessed values!


PLEASE NOTE:

For 'make test' to run properly, you must ensure that the
database user 'root' can connect to your MariaDB or MySQL server
and has the proper privileges that these tests require such
as 'drop table', 'create table', 'drop procedure', 'create procedure'
as well as others.

mysql> grant all privileges on test.* to 'root'@'localhost' identified by 's3kr1t';

For MySQL 8 it is needed to use different syntax:

mysql> create user 'root'@'localhost' identified by 's3kr1t';
mysql> grant all privileges on test.* to 'root'@'localhost';

You can also optionally set the user to run 'make test' with:

perl Makefile.PL --testuser=username

-> N/A
-> FAIL Configure failed for DBD-MariaDB-1.23. See /root/.cpanm/work/1728153468.1032842/build.log for details.
Expiring 104 work directories. This might take a while...


wenn ich dblog die Config checke sieht eigetnlich alles gut aus:


Available Drivers in your system

DBD::DBM, DBD::ExampleP, DBD::File, DBD::Gofer, DBD::Mem, DBD::Pg, DBD::Proxy, DBD::SQLite, DBD::Sponge, DBD::mysql

Result of version check

Used Perl version: 5.34.0
Used DBI (Database independent interface) version: 1.643
Used DBD (Database driver) version mysql: 4.050
Used DbLog version: 5.10.2
Your local DbLog module is up to date.
Rating:
Recommendation: Update of DbLog is not needed.
Your DBD version fulfills UTF8 support, no need to update DBD.

Result of configuration read check

Connection parameter store type: file
Connection parameter: Connection -> mysql:database=fhem;host=localhost;port=3306, User -> fhem, Password -> read o.k.
Rating:

Result of connection check

Connection to database fhem successfully done.
The time required to establish the connection was 0.0084 seconds.
Communication Compression between Client and Server: off
Rating:
Recommendation: settings o.k.

Result of Character Sets and Collation check

Character Set used by Client (connection): UTF8MB4
Collation used by Client (connection): UTF8MB4_BIN
Character Set used by DB fhem: UTF8MB4
Collation used by DB fhem: UTF8MB4_BIN
Rating:
Recommendation: settings o.k. Your DBD version fulfills UTF8 support, no need to update DBD.

Result of insert mode check

Insert mode of DbLog-device logdbSQLLite is: Array
Rating:
Recommendation: settings o.k.

Result of plot generation method check

WEB8083S: plotfork=1 / plotEmbed=2 / longpollSVG=0
WEB8086: plotfork=1 / plotEmbed=2 / longpollSVG=0
WEBphone8084: plotfork=1 / plotEmbed=2 / longpollSVG=0
WEBphone8085: plotfork=1 / plotEmbed=2 / longpollSVG=0

Rating:
Recommendation: settings o.k.

Result of table 'history' check

Column width set in table history: 'DEVICE' = 64, 'TYPE' = 64, 'EVENT' = 512, 'READING' = 64, 'VALUE' = 128, 'UNIT' = 32
Column width used by device logdbSQLLite: 'DEVICE' = 64, 'TYPE' = 64, 'EVENT' = 512, 'READING' = 64, 'VALUE' = 128, 'UNIT' = 32
Rating:
Recommendation: settings o.k.

Result of table 'current' check

Column width set in table current: 'DEVICE' = 64, 'TYPE' = 64, 'EVENT' = 512, 'READING' = 64, 'VALUE' = 128, 'UNIT' = 32
Column width used by device logdbSQLLite: 'DEVICE' = 64, 'TYPE' = 64, 'EVENT' = 512, 'READING' = 64, 'VALUE' = 128, 'UNIT' = 32
Rating:
Recommendation: settings o.k.

Result of check 'Search_Idx' availability

Index 'Search_Idx' exists and contains recommended fields 'DEVICE', 'TIMESTAMP', 'READING'.
Rating:
Recommendation: settings o.k.

Result of check 'Report_Idx' availability for DbRep-devices

At least one DbRep-device assigned to logdbSQLLite is used. Index 'Report_Idx' exists and contains recommended fields 'TIMESTAMP', 'READING'.
Rating:
Recommendation: settings o.k.