diff --git a/fhem/CHANGED b/fhem/CHANGED index 70d358343..40f09b0f8 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. + - bugfix: plotEmbed FHEMWEB attribute (fix for an iOS8 bug) - feature: SHC: support for analog inputs (EnvSensor) and new device RGB_Dimmer added (rr2000) - feature: PRESENCE: MAC address support for mode fritzbox (by Markus M.) @@ -9,9 +10,9 @@ possible values, which are selectable (via fhemweb_multiple.js). see commandref for all possible values - feature: speed up through caching of postproc and regex in ECMDDevice - - bugfix: fixed handling of autocreation for 10_OWServer.pm + - bugfix: fixed handling of autocreation for 10_OWServer.pm - feature: option to cope with partial messages in ECMD/ECMDDevice - - bugfix: SOMFY: add module to CUL client list, to set IODev automatically + - bugfix: SOMFY: add module to CUL client list, to set IODev automatically - feature: sequence: triggerPartial Attribute added - feature: 36_JeeLink: changed flash command to use fhem firmware directory (by HCS) @@ -39,11 +40,13 @@ to select HDMI input directly. Add command "input" to select a HDMI port, TV or SD-Card as source - - bugfix: LevelSender: Version 1.0.5: Could not get compiled by the Arduino IDE - - feature: PRESENCE: new event "error" and "timeout" for state reading to indicate - a non successful check + - bugfix: LevelSender: Version 1.0.5: Could not get compiled by the Arduino + IDE + - feature: PRESENCE: new event "error" and "timeout" for state reading to + indicate a non successful check - bugfix: 70_Jabber: fixed UTF8 encoding/decoding of messages - - feature: 10_OWServer autocreate coexists with OWXXX modules (Boris & ntruchsess) + - feature: 10_OWServer autocreate coexists with OWXXX modules (Boris & + ntruchsess) - feature: added 36_Level.pm - feature: netatmo: added plz support for public stations - change: 70_ENIGMA2: keep reading for recordings up-to-date during standby @@ -62,30 +65,35 @@ - feature: readingsGroup: added ...,@,... argument format - feature: 52_I2C_PCF8574.pm: added attribute OnStartup 52_I2C_PCA9532.pm: added attribute OnStartup, - added attribute OutputPorts as substitute for InputPorts - 51_RPI_GPIO.pm: changed access to gpio via userspace by default (for BBB and Cubie), - access via gpio utility as fallback + added attribute OutputPorts as substitute for InputPorts + 51_RPI_GPIO.pm: changed access to gpio via userspace by default + (for BBB and Cubie), access via gpio utility as fallback - feature: PIONEERAVR: new attribute: checkConnection - change: do no parse empty lines in 57_Calendar.pm - - bugfix: 10_SOMFY.pm: save enc-key and rolling-code as reading instead of attribute - to prevent loss of control after FHEM restart. + - bugfix: 10_SOMFY.pm: save enc-key and rolling-code as reading instead of + attribute to prevent loss of control after FHEM restart. - feature: new module 10_SOMFY.pm to support Somfy RTS blinds - bugfix: 70_PIONEERAVR.pm: fix for STATE if connection is lost - bugfix: 37_SHC.pm: Move xml file under subdir lib, otherwise it won't be deployed during update - bugfix: 70_PIONEERAVR.pm: player commands are now available for more inputs - "play" was not in the drop down list of available set commands - check every 120s if the data connection to the Pioneer AV receiver is still up - check if we get a reply from the Pioneer AV receiver not later than 3s after a command was sent - fix for alias names of inputs - more input presets (spotify, mhl, hdmi7, hdmi8), inputs are now queried from 1 - 59 - 71_PIONEERAVRZONE.pm: bugfix:logging, set input + "play" was not in the drop down list of available set commands + check every 120s if the data connection to the Pioneer AV + receiver is still up + check if we get a reply from the Pioneer AV receiver not later + than 3s after a command was sent + fix for alias names of inputs + more input presets (spotify, mhl, hdmi7, hdmi8), inputs are now + queried from 1 - 59 + 71_PIONEERAVRZONE.pm: bugfix:logging, set input - change: 00_RPII2C.pm: hardware access changed to ioctl and syswrite/read - SMBus module not needed anymore but still usable, see attribute useHWLib - possibility to swap I2C-0 to P5 for Rev. B raspberries via attribute swap_i2c0 (not tested yet) - - feature: 70_ENIGMA2: add attribute remotecontrol=[standard,advanced,keyboard] - - bugfix: 70_PIONEERAVR.pm and PIONEERAVRZONE.pm: added "use SetExtensions", commandref updates - fixed RC_layout + SMBus module not needed anymore but still usable, see attribute + useHWLib possibility to swap I2C-0 to P5 for Rev. B raspberries + via attribute swap_i2c0 (not tested yet) + - feature: 70_ENIGMA2: add attribute + remotecontrol=[standard,advanced,keyboard] + - bugfix: 70_PIONEERAVR.pm and PIONEERAVRZONE.pm: added "use SetExtensions", + commandref updates fixed RC_layout - feature: new modules 70_PIONEERAVR.pm and PIONEERAVRZONE.pm - feature: FLOORPLAN has new style 7 to display commands only. - added: 89_HEATRONIC.pm (heikoranft) @@ -268,8 +276,8 @@ - feature: DASHBOARD: Tabs can show an icon. - bugfix: DASHBOARD: dashboard_showfullsize only in DashboardRoom. Fix showhelper Bug on lock/unlock. The error that after a trigger - action the curren tab is changed to the "old" activetab tab has - been fixed. + action the curren tab is changed to the "old" + activetab tab has been fixed. - bugfix: SYSMON: Filesystems (absent medium) - feature: FLOORPLAN-menu-items can get icons attached by new attribute fp_roomIcons @@ -279,7 +287,8 @@ - bugfix: SYSMON: another format for ifconfig output - feature: DASHBOARD: Use longpoll to update content. rowcentercolwidth can now be defined per column. - Dashboard can hide FHEMWEB Roomliste and Header => Fullsizemode. + Dashboard can hide FHEMWEB Roomliste and Header => + Fullsizemode. - bugfix: SYSMON: null reading for absent mount points - feature: DbLog: jokers "%" in device/reading definition are now possible - feature: SYSMON: new CPU Statistics and Plots diff --git a/fhem/FHEM/01_FHEMWEB.pm b/fhem/FHEM/01_FHEMWEB.pm index 3dea518d3..dec57d8d2 100755 --- a/fhem/FHEM/01_FHEMWEB.pm +++ b/fhem/FHEM/01_FHEMWEB.pm @@ -79,6 +79,7 @@ use vars qw($FW_room); # currently selected room use vars qw($FW_formmethod); use vars qw(%FW_visibleDeviceHash); use vars qw(@FW_httpheader); # HTTP header, line by line +use vars qw($FW_userAgent); # user agent string $FW_formmethod = "post"; @@ -310,6 +311,7 @@ FW_Read($) length($hash->{BUF})<$hash->{CONTENT_LENGTH}); @FW_httpheader = split("[\r\n]", $hash->{HDR}); + $FW_userAgent = join("", grep /^User-Agent:/, @FW_httpheader); delete($hash->{HDR}); my @origin = grep /Origin/, @FW_httpheader; @@ -418,8 +420,8 @@ sub FW_closeConn($) { my ($hash) = @_; - # Needed for slow server+iPad/iPhone. Forum #20294 - if(AttrVal($hash->{SNAME}, "closeConn", undef)) { + if(AttrVal($hash->{SNAME}, "closeConn", # Forum #20294 + $FW_userAgent =~ m/(iPhone|iPad|iPod)/)) { TcpServer_Close($hash); delete($defs{$hash->{NAME}}); } @@ -2734,6 +2736,18 @@ FW_widgetOverride($$) on Windows and on systems with small memory footprint.
+ +
  • plotEmbed 0
    + SVG plots are rendered as part of <embed> tags, as in the past + this was the only way to display SVG, and it allows to render them in + parallel, see plotfork. As of iOS 8, if FHEMWEB is called from the Home + Screen, the SVG is fetched but not displayed, which is IMHO a bug. + Setting plotEmbed to 0 will render SVG in-place, but as a side-effect + makes the plotfork attribute meaningless.
    + This attribute defaults to 0 on iOS8 devices, and 1 elsewhere. +

  • + +
  • basicAuth, basicAuthMsg
    request a username/password authentication for access. You have to set @@ -3289,6 +3303,21 @@ FW_widgetOverride($$) Abschuss des FHEM Prozesses durch das OS führen.

  • + +
  • plotEmbed 0
    + SVG Grafiken werden als Teil der <embed> Tags dargestellt, da + früher das der einzige Weg war SVG darzustellen, weiterhin + erlaubt es das parallele Berechnen via plotfork (s.o.) + Ab iOS 8 werden SVG Grafiken in einem embed Tag nicht dargestellt, + falls FHEMWEB vom HomeScreen gestartet wurde (mAn ist das ein Bug in + iOS8). + Falls plotEmbed auf 0 gesetzt wird, dann werden die SVG Grafiken als + Teil der HTML-Seite generiert, was leider das plotfork Attribut + wirkungslos macht. Die Voreinstellung ist 0 auf iOS 8 Geräten, und + 1 sonst. +

  • + +
  • basicAuth, basicAuthMsg
    Fragt username/password zur Autentifizierung ab. Es gibt mehrere diff --git a/fhem/FHEM/98_SVG.pm b/fhem/FHEM/98_SVG.pm index f90706c8e..405edf5ec 100755 --- a/fhem/FHEM/98_SVG.pm +++ b/fhem/FHEM/98_SVG.pm @@ -183,7 +183,8 @@ SVG_FwFn($$$$) my ($w, $h) = split(",", AttrVal($d,"plotsize",$FW_plotsize)); $ret .= "
    "; - if(AttrVal($FW_wname, "plotEmbed", 1)) { + if(AttrVal($FW_wname, "plotEmbed", + $FW_userAgent =~ m/(iPhone|iPad|iPod).*OS (8|9)/)) { $ret .= "\n"; diff --git a/fhem/docs/fritzbox_old.html b/fhem/docs/fritzbox_old.html deleted file mode 100644 index 1e5d9867b..000000000 --- a/fhem/docs/fritzbox_old.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - -Home of FHEM - - - - - -

    FHEM on the Fritz!Box

    - -

    Description

    -
      - This document describes how to install FHEM on the - fritzbox.
      -
      - What works:
      -
        -
      • The basic fhem.pl server with at commands, notify, logging (tested)
      • -
      • FHZ1000 and FHZ1300 (both tested)
      • -
      • FS20, FHT and KS300-2 (tested)
      • -
      • HMS (untested, but should work)
      • -
      • SunSet/SunRise.
      • -
      • one of the Web frontends (webpgm2, the builtin one)
      • -
      - -
      - What does not work right now:
      -
        -
      • Gnuplot. No idea how to replace it, perhaps we compile a fritzbox - version
      • -
      • EM1010PC. I tried it without batteries, and I think the USB interface - cannot power an USB hub, an FHZ1300 and an EM1010PC together. The fritzbox - resets when trying to initialize the devices. More experiments needed.
      • -
      • WS300PC. Untested, don't have one.
      • -
      -
    - -

    Howto

    -
      - Tested on the fritzbox 7170, with Firmware 29.04.49.
      - Note:The kernel modules are for kernel 2.6.13.1, and perl is compiled - for uCLibc 0.9.28.

      - - Prerequisites:
      -
        -
      • You need a fritzbox with an USB host port. Check your kernel version. - If it won't match the version above, see the "Compile tips" in this - document.
      • -
      • an USB hub (a small passive one is enough).
      • -
      • an FHZ1000 or FHZ1300
      • -
      • a USB stick, at least 64MB. As the fritzbox is USB 1.1 only, - the slowest is fast enough.
      • -
      • telnet access for the fritzbox. See the links on how to enable it. -
      • the complete fhem package from the links section.
      • -
      -
      - Installation:
      -
        -
      • Connect the USB stick to a PC, and unpack the content of the - fb_fhem_x.y.tar.gz in the root directory of the USB stick. You'll - get a perl 5.6.2 installation with just those modules wich are needed - by fhem, an empty 32MB swapfile with a swapon/swapoff command, - the fhem server with an empty configuration file, and an rc.fhem - script which should start everything.
      • -
      • Connect the USB stick and the FHZ1x00 via the USB hub to the - fritzbox.
      • -
      • Log in via telnet to the fritzbox.
      • -
      • Change into the directory /var/media/ftp/*Partition*/usr/fhem .
      • -
      • Execute the command rc.fhem.
      • -
      • Now you can either use a Web browser:
        - - with the online help, or choose the command-line via:
        -
          - telnet fritz.box 7072
          -
        - to define your devices.
      • -
      • To enable automatic startup after reboot of the fritzbox enter the - following at the end of the /var/flash/debug.cfg:
        -
          - /bin/sleep 120
          - cd /var/media/ftp/*Partition*/usr/fhem && ./rc.fhem -
      • -
      -
      - Tips:
      -
        -
      • The installation creates the link /var/usr to the USB disk - (/var/media/ftp/*Partition*/usr)
      • -
      • In the beginning only the most necessary (in my opinion, anyway :-) - modules are installed: FHZ/FS20/HMS/KS300/SUNRISE_EL. If you want to - use other modules, they are in the /var/usr/fhem/FHEM/unused directory, - just move the needed module in the parent directory, and do a - "reload module" (without the .pm suffix).
      • -
      • If you use webpgm2, and unsure about an attribute, then just define it, - you'll get a link to the description of the attribute in the online - help".
      • -
      • If your're unsure about the parameters for a command try "?" as an - argument, e.g.: -
          - ?
          - define ?
          - define ?
          - set ?
          -
        -
      • -
      -
    - -

    Compile tips

    -
      - Note: You don't need to compile anything if you have the correct - kernel and uclibc version.

      - - I compiled the ftdi_sio module with the help of the ds26-15.1 packages, see - the links.
      - The ftdi_sio module had to be modified, as 2.6.13 does not contain the USB - ID's of the ELV devices.
      - Compiling a working perl for the fritzbox was a nightmare. After compiling - 5.8.8 I dicovered it has a strange bug: Appending numbers to strings won't - work on the fritzbox. This is why I compiled an "old" (5.6.2) one, which - seems to work perfectly.
    - -

    Links

    -