Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev/dockerize #1

Merged
merged 52 commits into from
Jun 20, 2023
Merged

Dev/dockerize #1

merged 52 commits into from
Jun 20, 2023

Commits on Nov 26, 2018

  1. Configuration menu
    Copy the full SHA
    a376ac1 View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2018

  1. Configuration menu
    Copy the full SHA
    1aaf317 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2018

  1. Configuration menu
    Copy the full SHA
    e59afac View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2018

  1. Added utility file to take output from semonitor.py and dump to rotat…

    …ing json files (jbuehl#117)
    
    * Added utility file to take output from semonitor.py and dump to rotating files based on day or hour. No parsing, raw json
    
    * Updated a few items per suggestions to make consistent with other things
    JohnOmernik authored and jbuehl committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    af7b25f View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2018

  1. Added bad key detection logic (jbuehl#118)

    * Added utility file to take output from semonitor.py and dump to rotating files based on day or hour. No parsing, raw json
    
    * Updated a few items per suggestions to make consistent with other things
    
    * Added section to se/msg.py to detect a wrong encryption key, and reset the cipher object (while logging)
    
    * Updated se2file.py to allow the user to specify day-based output directories, off by default
    JohnOmernik authored and jbuehl committed Dec 6, 2018
    Configuration menu
    Copy the full SHA
    5474a15 View commit details
    Browse the repository at this point in the history
  2. Fixed indent (jbuehl#120)

    * Added utility file to take output from semonitor.py and dump to rotating files based on day or hour. No parsing, raw json
    
    * Updated a few items per suggestions to make consistent with other things
    
    * Added section to se/msg.py to detect a wrong encryption key, and reset the cipher object (while logging)
    
    * Updated se2file.py to allow the user to specify day-based output directories, off by default
    
    * Fixed indent
    JohnOmernik authored and jbuehl committed Dec 6, 2018
    Configuration menu
    Copy the full SHA
    6ac1125 View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2018

  1. Configuration menu
    Copy the full SHA
    bfbb525 View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2018

  1. Added bed key detection logic

    jbuehl committed Dec 18, 2018
    Configuration menu
    Copy the full SHA
    6ddc4f5 View commit details
    Browse the repository at this point in the history
  2. Fix exception logging

    jbuehl committed Dec 18, 2018
    Configuration menu
    Copy the full SHA
    ee00572 View commit details
    Browse the repository at this point in the history
  3. Fix conflicts

    jbuehl committed Dec 18, 2018
    Configuration menu
    Copy the full SHA
    4cc825d View commit details
    Browse the repository at this point in the history

Commits on Apr 27, 2019

  1. Configuration menu
    Copy the full SHA
    fff023e View commit details
    Browse the repository at this point in the history
  2. replace unhexlify with xxd (jbuehl#127)

    - xxd is relatively common so don’t use a specialized utility script 
    - fix basename flag that was not working on some platforms
    ericbuehl authored Apr 27, 2019
    Configuration menu
    Copy the full SHA
    e3d6c1a View commit details
    Browse the repository at this point in the history

Commits on May 30, 2019

  1. Configuration menu
    Copy the full SHA
    74dac2d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ca6e77d View commit details
    Browse the repository at this point in the history

Commits on May 31, 2019

  1. Configuration menu
    Copy the full SHA
    5a82d01 View commit details
    Browse the repository at this point in the history
  2. seprint utility

    jbuehl committed May 31, 2019
    Configuration menu
    Copy the full SHA
    cd269e8 View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2019

  1. Configuration menu
    Copy the full SHA
    db64ba8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7aeda59 View commit details
    Browse the repository at this point in the history
  3. Use python3 print

    jbuehl committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    1de49e0 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2019

  1. Configuration menu
    Copy the full SHA
    d59ce92 View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2019

  1. Configuration menu
    Copy the full SHA
    d5e15ec View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2019

  1. Configuration menu
    Copy the full SHA
    44f9805 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    baa2e4d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    08bd8b5 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2019

  1. Atom editor whitespace removal

    jbuehl committed Jul 18, 2019
    Configuration menu
    Copy the full SHA
    b37e983 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    656d0e3 View commit details
    Browse the repository at this point in the history
  3. logger.message() should only be called with valid solaredge messages (j…

    …buehl#137)
    
    also, halt tests on any exception
    ericbuehl authored and jbuehl committed Jul 18, 2019
    Configuration menu
    Copy the full SHA
    71e10e5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3dc4e35 View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2019

  1. Configuration menu
    Copy the full SHA
    d99bf83 View commit details
    Browse the repository at this point in the history
  2. Compute optimizer power

    jbuehl committed Jul 25, 2019
    Configuration menu
    Copy the full SHA
    3737738 View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2019

  1. Configuration menu
    Copy the full SHA
    a97f410 View commit details
    Browse the repository at this point in the history
  2. Add state debugging.

    jbuehl committed Jul 27, 2019
    Configuration menu
    Copy the full SHA
    129b931 View commit details
    Browse the repository at this point in the history
  3. Fix rs485 read issue.

    jbuehl committed Jul 27, 2019
    Configuration menu
    Copy the full SHA
    fb816b4 View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2019

  1. Fix rs485 read issue.

    jbuehl committed Jul 29, 2019
    Configuration menu
    Copy the full SHA
    10916e7 View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2019

  1. Fix byte strings (jbuehl#138)

    * Correct Power readings of Nan that are sent in reversed byte order
    
    . an edge case where it appears that the solaredge inverter has a minor
      but irritating bug when encoding data for transmission
    
    * Correct inverter Pmax power readings that should be Nan
    
    . an edge case where it appears that the solaredge inverter has a minor
      but irritating bug when encoding data for transmission, namely that
      readings of Nan that are sent in reversed byte order
    
    * Decode battery id to string instead of bytes.
    
    . The battery ID in a meters_0x0030 message is 12 characters long.
      In Python 3.x struct.unpack returns a byte string when the 's'
      format is used. But byte strings are not accepted as keys for
      dictionaries, so it is necessary to decode the battery ID byte string
      to a proper unicode string to avoid problems later on.
    
    * First attempt at providing a test for the fix_byte_strings changes.
    
    . The 'correct' json file was created under Windows, so there may be
      problems with CR LF endings, when tests are run under a Linux shell.
    
    * Fix value returned from parseData when unknown function encountered.
    
    . The previous return value was raising an exception, even though the
      intent is just to ignore the unknown function part of the message.
    
    * Convert Date and Time values in json output to the US/Pacific timezone.
    
    . test/test.sh, as run by CircleCI, is setup to generate Date and Time
       values as per the US/Pacific timezone.  Hence my target output
      json file must also include Date and Time as per that timezone,
      in order to pass the CI tests.
    
    * Add the .rec and .csv files expected by test/test.sh.
    
    * Save csv and rec files created by running test/test.sh on Ubuntu
    Geoff99 authored and ericbuehl committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    e987d1a View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2019

  1. Configuration menu
    Copy the full SHA
    52a92db View commit details
    Browse the repository at this point in the history
  2. Add example scripts

    jbuehl committed Oct 21, 2019
    Configuration menu
    Copy the full SHA
    e98fa08 View commit details
    Browse the repository at this point in the history
  3. Add example scripts

    jbuehl committed Oct 21, 2019
    Configuration menu
    Copy the full SHA
    80ffb34 View commit details
    Browse the repository at this point in the history
  4. Add example scripts

    jbuehl committed Oct 21, 2019
    Configuration menu
    Copy the full SHA
    591c81d View commit details
    Browse the repository at this point in the history
  5. Python3 support

    jbuehl committed Oct 21, 2019
    Configuration menu
    Copy the full SHA
    8c6c1eb View commit details
    Browse the repository at this point in the history
  6. Add debug2hex utility

    jbuehl committed Oct 21, 2019
    Configuration menu
    Copy the full SHA
    2f88c9c View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2019

  1. Fix readMsg in doCommand (jbuehl#145)

    jpnp authored and jbuehl committed Oct 23, 2019
    Configuration menu
    Copy the full SHA
    dd844f3 View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2021

  1. Configuration menu
    Copy the full SHA
    b869349 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    093c443 View commit details
    Browse the repository at this point in the history
  3. Python3 support

    jbuehl committed Sep 5, 2021
    Configuration menu
    Copy the full SHA
    f8567c9 View commit details
    Browse the repository at this point in the history
  4. Change inverter serial number

    jbuehl committed Sep 5, 2021
    Configuration menu
    Copy the full SHA
    30ce62c View commit details
    Browse the repository at this point in the history

Commits on Dec 30, 2021

  1. FiX key extraction from RS485 interface (jbuehl#165)

    It's currently broken:
    
    root@firewall:/opt/solaredge# ./semonitor.py -m -t 4 -c 12,H239 -s 7315977D /dev/ttyUSB0
    Traceback (most recent call last):
      File "./semonitor.py", line 268, in <module>
        doCommands(args, mode, state, dataFile, recFile, outFile)
      File "./semonitor.py", line 175, in doCommands
        masterGrant(dataFile, recFile, args.slaves[0])
    TypeError: masterGrant() missing 1 required positional argument: 'slaveAddr'
    
    Co-authored-by: Ben Castricum <[email protected]>
    BenCastricum and Ben Castricum authored Dec 30, 2021
    Configuration menu
    Copy the full SHA
    e1c1991 View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2022

  1. Add support for S440 optimizers (jbuehl#168)

    Tested on 2022-03-12 with a SE6K inverter
    hberntsen authored Apr 3, 2022
    Configuration menu
    Copy the full SHA
    ad11571 View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2022

  1. Initial commit to add the se2influx.py utility. (jbuehl#171)

    The se2influx.py utility will accept semonitor.py input from stdin (allowing
    you to use to pipe semonitor.py output into it) and write it to an influxdb instance.
    
    Inverters and optimizers will be written to seperate measurements, with their
    unique serial numbers acting as tags, and the rest of the semonitor fields will
    be sent verbatim to your influxdb as native fields.
    
    Lastly, se2influx (optionally) allows for writing of ingested semonitor data to
    a log file on disk, with built-in log file rotation and compression.  This
    allows you to eliminate any uses of "tee" in your piped commands, and permits
    you to replay any data that was failed to be sent to your influxdb host (due to
    host downtime, etc) at a later date by simplying cat-ing the relevant log
    file(s) into the se2influx.py script.
    
    pps.  We also include a "se2influx" script as an example of how you might
    want to execute it in conjunction with semonitor.py
    
    Co-authored-by: root <[email protected]>
    eschwim and root authored Oct 13, 2022
    Configuration menu
    Copy the full SHA
    f097b3b View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2022

  1. Configuration menu
    Copy the full SHA
    8f72df1 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2023

  1. resolve symlinks for serial ports

    It is not uncommon to setup smart symlinks for hotpluggable/USB
    adapters, so they always have a known name. PySerial however seems to
    refuse to follow symlinks
    
    Signed-off-by: Olliver Schinagl <[email protected]>
    oliv3r committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    8e3d034 View commit details
    Browse the repository at this point in the history
  2. Containerize semonitor

    To be able to track dependencies better, make development easier and
    have a more reliable means of distributing and managing semonitor, it is
    good to put it isolate it within a container.
    
    Everything should still be useable as before, but care needs to be taken
    when running pipelines, as if these are not properly passed into the
    container, one is piping the outside of the container. The result would
    be the same, but either two docker instances would need to be run or the
    second command needs to be available on the host. Both are not ideal
    solutions.
    
    Signed-off-by: Olliver Schinagl <[email protected]>
    oliv3r committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    1b9cf16 View commit details
    Browse the repository at this point in the history