list_resources() doesn't return COM

Hello,
I have USB devices which show up under COM ports in the device manager.
I can initialize the device by:
rm=visa.ResourceManager()
device1=rm.open_resource("COM1", baud_rate=921600)
device2=rm.open_resource("COM2", baud_rate=57600)
but I dont want to hard code the COM numbers (COM1 and COM2) in the open_resource() and therefore I am trying to use list_resources() to get the list of all devices, save the device key and parse it in the open_resource().  However, the  list_resources() doesn't return COM1 and COM2 but, it returns ASRL1::INSTR and ASRL2::INSTR.  If I hard code ASRL1::INSTR in the open_resources() it throws an error.

As a first note, if you are using the NI backend the listed resources and
how each of them is mapped to the underlying resource is completely under
the control of the NI-VISA library and therefore outside the control of
PyVISA.
In the VISA jargon, ASRLN::INSTR is a serial instrument in port N. In other
words, they are mapped to the COM ports. So what you are getting in the
list is fine. What is weird is that you are not able to open the ports. Can
you provide more information about your installation and the error message
that you are getting.
On Fri, Sep 4, 2015 at 3:09 AM aebk2015<EMAIL_ADDRESS>wrote:

Hello,
I have USB devices which show up under COM ports in the device manager.
I can initialize the device by:
rm=visa.ResourceManager()
device1=rm.open_resource("COM1", baud_rate=921600)
device2=rm.open_resource("COM2", baud_rate=57600)
but I dont want to hard code the COM numbers (COM1 and COM2) in the
open_resource() and therefore I am trying to use list_resources() to get
the list of all devices, save the device key and parse it in the
open_resource(). However, the list_resources() doesn't return COM1 and COM2
but, it returns ASRL1::INSTR and ASRL2::INSTR. If I hard code ASRL1::INSTR
in the open_resources() it throws an error.
—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/181.

Thanks Hernan, I used the wrong syntax, now the error is gone and I am able
to open the devices.  However, I am facing with another problem which is
more of python than pyvisa.  I already posted the problem on stackoverflow
and I appreciate it if you could give me your insight.  The tread is here:
http://stackoverflow.com/questions/32407942/creating-subclass-when-using-pyvisa
Thanks
On Sat, Sep 5, 2015 at 7:55 PM, Hernan Grecco<EMAIL_ADDRESS>wrote:

As a first note, if you are using the NI backend the listed resources and
how each of them is mapped to the underlying resource is completely under
the control of the NI-VISA library and therefore outside the control of
PyVISA.
In the VISA jargon, ASRLN::INSTR is a serial instrument in port N. In other
words, they are mapped to the COM ports. So what you are getting in the
list is fine. What is weird is that you are not able to open the ports. Can
you provide more information about your installation and the error message
that you are getting.
On Fri, Sep 4, 2015 at 3:09 AM aebk2015<EMAIL_ADDRESS>wrote:

Hello,
I have USB devices which show up under COM ports in the device manager.
I can initialize the device by:
rm=visa.ResourceManager()
device1=rm.open_resource("COM1", baud_rate=921600)
device2=rm.open_resource("COM2", baud_rate=57600)
but I dont want to hard code the COM numbers (COM1 and COM2) in the
open_resource() and therefore I am trying to use list_resources() to get
the list of all devices, save the device key and parse it in the
open_resource(). However, the list_resources() doesn't return COM1 and
COM2
but, it returns ASRL1::INSTR and ASRL2::INSTR. If I hard code
ASRL1::INSTR
in the open_resources() it throws an error.
—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/181.

—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/181#issuecomment-138034549.

This is wrong:
super(Newport,self).init()
should be:
super(CONEX,self).init()
A few general (style) comments:

Do not create multiple ResourceManager Instances. Share one across all
your code.
Use lower case names for the attributes.
Use lower case names with underscores for functions.
Do not add your own termination chars. Let PyVISA do that for you

By the way, take a look at Lantz lantz.readthedocs.org We are building up
this community project to make instrumentation easier in the same line of
your classes.
On Sat, Sep 5, 2015 at 11:58 PM aebk2015<EMAIL_ADDRESS>wrote:

Thanks Hernan, I used the wrong syntax, now the error is gone and I am able
to open the devices. However, I am facing with another problem which is
more of python than pyvisa. I already posted the problem on stackoverflow
and I appreciate it if you could give me your insight. The tread is here:
http://stackoverflow.com/questions/32407942/creating-subclass-when-using-pyvisa
Thanks
On Sat, Sep 5, 2015 at 7:55 PM, Hernan Grecco<EMAIL_ADDRESS>wrote:

As a first note, if you are using the NI backend the listed resources and
how each of them is mapped to the underlying resource is completely under
the control of the NI-VISA library and therefore outside the control of
PyVISA.
In the VISA jargon, ASRLN::INSTR is a serial instrument in port N. In
other
words, they are mapped to the COM ports. So what you are getting in the
list is fine. What is weird is that you are not able to open the ports.
Can
you provide more information about your installation and the error
message
that you are getting.
On Fri, Sep 4, 2015 at 3:09 AM aebk2015<EMAIL_ADDRESS>wrote:

Hello,
I have USB devices which show up under COM ports in the device manager.
I can initialize the device by:
rm=visa.ResourceManager()
device1=rm.open_resource("COM1", baud_rate=921600)
device2=rm.open_resource("COM2", baud_rate=57600)
but I dont want to hard code the COM numbers (COM1 and COM2) in the
open_resource() and therefore I am trying to use list_resources() to
get
the list of all devices, save the device key and parse it in the
open_resource(). However, the list_resources() doesn't return COM1 and
COM2
but, it returns ASRL1::INSTR and ASRL2::INSTR. If I hard code
ASRL1::INSTR
in the open_resources() it throws an error.
—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/181.

—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/181#issuecomment-138034549.

—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/181#issuecomment-138039190.

Thanks, it worked after I changed the syntax.  Now I am having difficulties
opening different instrument which has the same interface as the previous
one.  My suspecision is that I need to specify the flow control and
stop_bits.  It looks like stop_bits is not defined in new pyvisa.  Can you
let me know the equivalent?  Also who I specify the flow control?
Thanks
On Sun, Sep 6, 2015 at 6:40 AM, Hernan Grecco<EMAIL_ADDRESS>wrote:

This is wrong:
super(Newport,self).init()
should be:
super(CONEX,self).init()
A few general (style) comments:

Do not create multiple ResourceManager Instances. Share one across all
your code.
Use lower case names for the attributes.
Use lower case names with underscores for functions.
Do not add your own termination chars. Let PyVISA do that for you

By the way, take a look at Lantz lantz.readthedocs.org We are building up
this community project to make instrumentation easier in the same line of
your classes.
On Sat, Sep 5, 2015 at 11:58 PM aebk2015<EMAIL_ADDRESS>wrote:

Thanks Hernan, I used the wrong syntax, now the error is gone and I am
able
to open the devices. However, I am facing with another problem which is
more of python than pyvisa. I already posted the problem on stackoverflow
and I appreciate it if you could give me your insight. The tread is here:

http://stackoverflow.com/questions/32407942/creating-subclass-when-using-pyvisa

Thanks
On Sat, Sep 5, 2015 at 7:55 PM, Hernan Grecco<EMAIL_ADDRESS>wrote:

As a first note, if you are using the NI backend the listed resources
and
how each of them is mapped to the underlying resource is completely
under
the control of the NI-VISA library and therefore outside the control of
PyVISA.
In the VISA jargon, ASRLN::INSTR is a serial instrument in port N. In
other
words, they are mapped to the COM ports. So what you are getting in the
list is fine. What is weird is that you are not able to open the ports.
Can
you provide more information about your installation and the error
message
that you are getting.
On Fri, Sep 4, 2015 at 3:09 AM aebk2015<EMAIL_ADDRESS>wrote:

Hello,
I have USB devices which show up under COM ports in the device
manager.
I can initialize the device by:
rm=visa.ResourceManager()
device1=rm.open_resource("COM1", baud_rate=921600)
device2=rm.open_resource("COM2", baud_rate=57600)
but I dont want to hard code the COM numbers (COM1 and COM2) in the
open_resource() and therefore I am trying to use list_resources() to
get
the list of all devices, save the device key and parse it in the
open_resource(). However, the list_resources() doesn't return COM1
and
COM2
but, it returns ASRL1::INSTR and ASRL2::INSTR. If I hard code
ASRL1::INSTR
in the open_resources() it throws an error.
—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/181.

—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/181#issuecomment-138034549.

—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/181#issuecomment-138039190.

—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/181#issuecomment-138086365.

Hi Hernan,
Please ignore the previous question.  I have made my program like this but
I am stuck and appreciate it if you could please help me.  As I mentioned
previously, I have parent class called MotionControllers and three sub
classes called CONEX, SMC and ESP.  The problem I have now is how to use
the DeviceKey (obtained from the return of list_resources()) and use it in
the sub classes. In the current version (please see attached), it returned:
AttributeError: type object 'Newport' has no attribute 'DeviceKey'
import visa
class MotionControllers(object):
def init(self,DeviceKey):
self.rm=visa.ResourceManager()
self.DeviceKey=DeviceKey
def OpenConnectedDevices(self):
self.ListOfDevices=self.rm.list_resources()
for DeviceKey in self.ListOfDevices:
self.Base=self.rm.open_resource(DeviceKey)
def WriteRead(self, command):
self.command=command
self.Base.write(self.command)
return (self.Base.read())
def Read(self):
print (self.Base.read())
def Send(self, command):
self.command=command
self.Base.write(self.command)
def GetFirmwareVersion(self):
return self.WriteRead("1VE")
class CONEX(MotionControllers):
def init(self):
super(CONEX,self).init()
self.Base=self.rm.open_resource(MotionControllers.DeviceKey,
baud_rate=921600, timeout=2000, data_bits=8, write_termination='\r\n')
class SMC(MotionControllers):
def init(self):
super(SMC,self).init()
self.Base=self.rm.open_resource(MotionControllers.DeviceKey,
baud_rate=57600, timeout=2000, data_bits=8, write_termination='\r\n')
class ESP(MotionControllers):
def init(self):
super(ESP,self).init()
self.Base=self.rm.open_resource(MotionControllers.DeviceKey,
baud_rate=921600, timeout=2000, data_bits=8, write_termination='\r\n')
my_CONEX=CONEX()
my_SMC=SMC()
my_ESP=ESP()
print my_CONEX.GetFirmwareVersion()
print my_SMC.GetFirmwareVersion()
print my_ESP.GetFirmwareVersion()
BTW, the reason I am not following Python convention for defining the
function and variable names is because I want to create function with the
same API that are available from the controller GUI.
On Tue, Sep 8, 2015 at 11:17 AM, Ali Eftekhari<EMAIL_ADDRESS>wrote:

Thanks, it worked after I changed the syntax.  Now I am having
difficulties opening different instrument which has the same interface as
the previous one.  My suspecision is that I need to specify the flow
control and stop_bits.  It looks like stop_bits is not defined in new
pyvisa.  Can you let me know the equivalent?  Also who I specify the flow
control?
Thanks
On Sun, Sep 6, 2015 at 6:40 AM, Hernan Grecco<EMAIL_ADDRESS>wrote:

This is wrong:
super(Newport,self).init()
should be:
super(CONEX,self).init()
A few general (style) comments:

Do not create multiple ResourceManager Instances. Share one across all
your code.
Use lower case names for the attributes.
Use lower case names with underscores for functions.
Do not add your own termination chars. Let PyVISA do that for you

By the way, take a look at Lantz lantz.readthedocs.org We are building up
this community project to make instrumentation easier in the same line of
your classes.
On Sat, Sep 5, 2015 at 11:58 PM aebk2015<EMAIL_ADDRESS>wrote:

Thanks Hernan, I used the wrong syntax, now the error is gone and I am
able
to open the devices. However, I am facing with another problem which is
more of python than pyvisa. I already posted the problem on
stackoverflow
and I appreciate it if you could give me your insight. The tread is
here:

http://stackoverflow.com/questions/32407942/creating-subclass-when-using-pyvisa

Thanks
On Sat, Sep 5, 2015 at 7:55 PM, Hernan Grecco<EMAIL_ADDRESS>wrote:

As a first note, if you are using the NI backend the listed resources
and
how each of them is mapped to the underlying resource is completely
under
the control of the NI-VISA library and therefore outside the control
of
PyVISA.
In the VISA jargon, ASRLN::INSTR is a serial instrument in port N. In
other
words, they are mapped to the COM ports. So what you are getting in
the
list is fine. What is weird is that you are not able to open the
ports.
Can
you provide more information about your installation and the error
message
that you are getting.
On Fri, Sep 4, 2015 at 3:09 AM aebk2015<EMAIL_ADDRESS>wrote:

Hello,
I have USB devices which show up under COM ports in the device
manager.
I can initialize the device by:
rm=visa.ResourceManager()
device1=rm.open_resource("COM1", baud_rate=921600)
device2=rm.open_resource("COM2", baud_rate=57600)
but I dont want to hard code the COM numbers (COM1 and COM2) in the
open_resource() and therefore I am trying to use list_resources() to
get
the list of all devices, save the device key and parse it in the
open_resource(). However, the list_resources() doesn't return COM1
and
COM2
but, it returns ASRL1::INSTR and ASRL2::INSTR. If I hard code
ASRL1::INSTR
in the open_resources() it throws an error.
—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/181.

—
Reply to this email directly or view it on GitHub
<https://github.com/hgrecco/pyvisa/issues/181#issuecomment-138034549
.

—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/181#issuecomment-138039190.

—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/181#issuecomment-138086365.

-- coding: utf-8 --
"""
Created on Tue Sep 08 13:48:45 2015
@author: Ali.Eftekhari
"""
import visa
class MotionControllers(object):
def init(self,DeviceKey):
self.rm=visa.ResourceManager()
self.DeviceKey=DeviceKey
def OpenConnectedDevices(self):
    self.ListOfDevices=self.rm.list_resources()
    for DeviceKey in self.ListOfDevices:
        self.Base=self.rm.open_resource(DeviceKey)

def WriteRead(self, command):
    self.command=command
    self.Base.write(self.command)
    return (self.Base.read())

def Read(self):
    print (self.Base.read())

def Send(self, command):
    self.command=command
    self.Base.write(self.command)

def GetFirmwareVersion(self):
    return self.WriteRead("1VE")

class CONEX(MotionControllers):
def init(self):
super(CONEX,self).init()
self.Base=self.rm.open_resource(MotionControllers.DeviceKey, baud_rate=921600, timeout=2000, data_bits=8, write_termination='\r\n')
class SMC(MotionControllers):
def init(self):
super(SMC,self).init()
self.Base=self.rm.open_resource(MotionControllers.DeviceKey, baud_rate=57600, timeout=2000, data_bits=8, write_termination='\r\n')
class ESP(MotionControllers):
def init(self):
super(ESP,self).init()
self.Base=self.rm.open_resource(MotionControllers.DeviceKey, baud_rate=921600, timeout=2000, data_bits=8, write_termination='\r\n')
my_CONEX=CONEX()
my_SMC=SMC()
my_ESP=ESP()
print my_CONEX.GetFirmwareVersion()
print my_SMC.GetFirmwareVersion()
print my_ESP.GetFirmwareVersion()


It takes over 10 seconds for the files to load when running rspec.

Am I doing something wrong or does it take that long for a simple chefspec setup run? Is there any way I can speed up the loading of the files?

I'm running into this issue. I'm running chefdk 0.4.0 and have ran gem cleanup  but it doesn't seem to help.  I've only written the skeleton for the tests but it still takes about 10 seconds to just load up chefspec.
this is what I have in my spec/spec_helper.rb and this is only file I have under spec so far:
require 'chefspec'
require_relative '../libraries/storage.rb'

 RSpec.configure do |config|
   config.log_level = :info
   config.platform = 'ubuntu'
   config.version = '14.04'
 end

I've also ran :
$ time ruby -e "require 'chefspec'"

  real	0m8.831s
  user	0m8.208s
  sys	0m0.616s

I'm not sure why it's taking so long to load the gem.

I'm also facing same issue of files took 7.91seconds to load. Following this thread, I used gem cleanup. Once it finished I re-ran test and it started complaining gem <name> not found. Looks like it somehow uninstalled some required gems too. So I had to re-run bundle install.


Fix cusparseSpMV warnings for CUDA-11.2

Resolves #2164.

PR
Author
Editor
Reviewers
Assignment
Approval
Merge

#2200
@adam-sim-dev
@tzanio
@YohannDudouit + @artv3
06/02/21
06/03/21
06/06/21

This PR is now under review (see the table in the PR description). To help with the review process, please do not force push to the branch.

LGTM

Compiles on my machine using CUDA 11.3. Thanks!

Merged in next for testing...

We got this error on Lassen in tonight's test:
linalg/sparsemat.cpp(694): error: identifier "CUSPARSE_SPMV_CSR_ALG1" is undefined
1 error detected in the compilation of "linalg/sparsemat.cpp".

Any suggestions how to fix?

Note: The error is while building with<EMAIL_ADDRESS>and -arch=sm_70 (using spack and xl-<IP_ADDRESS> compiler).

We got this error on Lassen in tonight's test:
linalg/sparsemat.cpp(694): error: identifier "CUSPARSE_SPMV_CSR_ALG1" is undefined
1 error detected in the compilation of "linalg/sparsemat.cpp".

Any suggestions how to fix?

I'm actually surprised by this, I tried it with both an old cuda and a recent cuda on lassen. Could it be that the CUDA_VERSION check is erroneous, #if CUDA_VERSION > 10020 || CUDA_VERSION == 10020 should rather be something like #if CUDA_VERSION > 11020 || CUDA_VERSION == 11020?

Re-merged in next for testing ...

Re-merged in next for testing ...


Laravel 10.37.1 Shift

This pull request includes updates for the recent minor version release of Laravel as well as updates to your package dependencies. Feel free to commit any additional changes to the shift-ci-v10.37.1 branch.
Before merging, you need to:

Checkout the shift-ci-v10.37.1 branch
Review all pull request comments for additional changes
Run composer update
Thoroughly test your application (no tests?, no CI?)

:x: Shift was unable to run composer update. Please be sure to run composer update before merging to ensure your dependency changes are fully compatible and reflected in your composer.lock file.


Green coin counter

Sometimes the GC counter does not come up, I have to deselct it reselect it, for it to show up

Seems to have fixed it's self and does not happen at moment


e2e: Some fixes to make CI green again

Redis is community supported operator which is not getting much
attention and because of this [0] it is failing. This PR replace it with
pipeline which is Red Hat supported and well maintained.
[0] https://github.com/redhat-openshift-ecosystem/community-operators-prod/issues/2865

/retest


New check - database compatibility level - closes #333

Added test to make sure the database compatibility level matches that of the server version.

answers #333

appreciate the screenshot!


Don't Merge! PR real time test for source branch full build

Docs Build status updates of commit d6fbb08:
:clock10: Pending: waiting for processors (35 builds ahead of you)
:warning: Docs Build is busy, currently there are 35 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit d6fbb08:
:clock10: Full build: the average full build time is 7 min(s) 48 sec(s), this is based on the last 30 build(s) for this repository.

Docs Build status updates of commit d6fbb08:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docfx.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


@txubelaxu Hi! I'm trying to understand your project and if I understood correctly, you connect the inverter to the battery via rs485 via CAN bus and simultaneously receive data from the inverter also via rs485 or is it not quite like that?

          @txubelaxu Hi! I'm trying to understand your project and if I understood correctly, you connect the inverter to the battery via rs485 via CAN bus and simultaneously receive data from the inverter also via rs485 or is it not quite like that?

Originally posted by @vpritulin in https://github.com/syssi/esphome-jk-bms/issues/464#issuecomment-2276331029
Hi @vpritulin!!
The project was about to add to "esphome-jk-bms" original project the compatibility of JK-PB via internal RS485 ports. At the beginning, I tried to "listen (only) to" the RS485 network to sniffing information across the network. I got it.
But I saw that some information was missing in the network (device info frame type 03 of the JK-BMS that was acting as MASTER 0x00)
So, I changed the strategy: I tried ESP32 to acting as MASTER. So, I moved my jk-bms to address 0x01 and 0x02.
The state of the project is that I have got READ & WRITE almost all paramethers (missing RCV Time and RFV Time). I have inserted the capacity to "broadcast" to all the BMSs in the RS485 network one setting when you change it. This is a "broadcast" setting that you can dissable in the config, of course.
I prefer RS485 to BT because it uses less resources, BT is free to connect with mobile...
Special mention to "esphome-jk-bms-can" project. Now, in the "development" branch there is an integration to @txubelaxu "esphome-jk-bms" project. So, with this two projects together, yes, we have an ESP32 between the Inverter and BMSs. :-)
Welcome!!

Maybe I didn't fully understand your project, but I have an inverter with RS485 support and I would like to connect the battery to it via CAN bus and connect the ESP to RS485 so that I could immediately receive data from the inverter and battery. So that I don't have to use RS232 to receive information about the inverter and can get by with 1 ESP instead of 2.

BMS1 <---->|
BMS2<----->|
|
-----------> ESP32 <-----------------> INVERTER
(RS485)                                  (CAN)
But "esphome-jk-bms-can" project has different posibilities that I do not
know.
El jue, 8 ago 2024 a las 21:06, Vladislav @.***>)
escribió:

@txubelaxu https://github.com/txubelaxu Maybe I didn't fully understand
your project, but I have an inverter with RS485 support and I would like to
connect the battery to it via CAN bus and connect the ESP to RS485 so that
I could immediately receive data from the inverter and battery. So that I
don't have to use RS232 to receive information about the inverter and can
get by with 1 ESP instead of 2.
—
Reply to this email directly, view it on GitHub
https://github.com/syssi/esphome-jk-bms/issues/564#issuecomment-2276479064,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BFHIJMDQF5FCO7SIXE6EJDTZQO6TBAVCNFSM6AAAAABMHB6TI2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZWGQ3TSMBWGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

I thought to use such a connector, connected to the inverter on the RS485 connector, and then 1 cable to the BMS, where there may be a bus, and the second in parallel to the esp32 through the RS485 to TTL converter

So, your inverter have not a CAN bus, have it?
Those connectors can be used, as far as the impedance in the network complies the RS485 specification. That can see when connecting into the system. If the cable lengths are not too long I think it should work. But as said, you only know when connecting...

@txubelaxu Hello! My inverter has a CAN bus, but I would like to connect the inverter to the battery via the CAN bus. With the BMS, receive data on the ESP and in parallel from the inverter via the CAN bus send information about the inverter, using only 1 ESP and not using the RS232 connector

take a look to the "development" branch of "esphome-jk-bms-can" project. It
uses CAN between Inverter and ESP32, and RS485 between ESP32 and BMSs.
El lun, 12 ago 2024 a las 14:09, Vladislav @.***>)
escribió:

@txubelaxu https://github.com/txubelaxu Hello! My inverter has a CAN
bus, but I would like to connect the inverter to the battery via the CAN
bus. With the BMS, receive data on the ESP and in parallel from the
inverter via the CAN bus send information about the inverter, using only 1
ESP and not using the RS232 connector
—
Reply to this email directly, view it on GitHub
https://github.com/syssi/esphome-jk-bms/issues/564#issuecomment-2283799493,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BFHIJMD5V62PUSJNKXVJ6FLZRCQWHAVCNFSM6AAAAABMHB6TI2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOBTG44TSNBZGM
.
You are receiving this because you were mentioned.Message ID:
@.***>

@txubelaxu Maybe another branch? I didn't find the developer

It is another project. There are 2 projects: esphome-jk-bms and
esphome-jk-bms-can
Here the link to esphome-jk-bms-can -->
https://github.com/txubelaxu/esphome-jk-bms-can/
El lun, 12 ago 2024 a las 15:51, Vladislav @.***>)
escribió:

@txubelaxu https://github.com/txubelaxu Maybe another branch? I didn't
find the developer
—
Reply to this email directly, view it on GitHub
https://github.com/syssi/esphome-jk-bms/issues/564#issuecomment-2284051242,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BFHIJMEGYYR24W5SLMTK4BTZRC4XZAVCNFSM6AAAAABMHB6TI2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOBUGA2TCMRUGI
.
You are receiving this because you were mentioned.Message ID:
@.***>


Add support for notes

It looks like the endpoint exists
https://developer.wunderlist.com/documentation/endpoints/note

Will have a look into this @rnc, I don't think it should be on by default, maybe there should be a --notes flag or something? How do you see this working?

Hi! Yes a --notes would work quite well for small sections of text. Perhaps a --notesfile to accept input from text file?

I was thinking about displaying notes, wasn't even considering creating tasks with notes haha

Closed in https://github.com/we-are-next/wunderline/pull/58


Error while porting the cpp-ethereum-cross on Tizen 3.0 TV platform

Dear All,
I'm new to ethereum platform and want to develop decentralized app on Tizen 3.0 for TV profile on ethereum platform.
After going through many threads, I came to know that I have to do following things...

Cross compile to "cpp-ethereum-cross" for Tizen 3.0 TV profile.
Install  cpp-ethereum-cross on Tizen 3.0 TV profile.
I will create frontend in JavaScript, that will interact with cpp-ethereum for account management of ether.

We have already created one small DApp on our PC using geth and JavaScript, now We want to move our idea over Tizen 3.0 TV profile.
While executing the below commands,
a) git clone https://github.com/doublethinkco/webthree-umbrella-cross.git
b) sudo ./build-armel.sh / sudo ./build-armhf.sh / sudo ./build-armel-apt.sh / sudo ./build-armhf-apt.sh
Following error appear...
$sudo ./build-armel-apt.sh
./build-generic.sh: line 31: docker: command not found
I've following queries

Is my understanding correct about the above 3 points ?
How can I resolve the above error for cross compiling the cpp-ethereum-cross for Tizen 3.0 TV profile.
If It's feasible(Creating a DApp using ethereum platform) at all on Tizen TV platform ?

I'm using 12.04 Ubuntu OS for cross compilation.
Waiting for your prompt reply.
Thanks in Advance
Sam

Greetings!   Aha, Tizen, my old friend :-)
So getting cpp-ethereum working on a Gear S2 smartwatch was my original motivation for starting on cpp-ethereum-cross, but funny enough, I never got it working on Tizen, because of the ancient state of the glibc in Tizen 2.4.     If you are motivated to get to the end of the line on that process then I wish you luck.
The build error you are seeing looks easy enough - looks like you don't have Docker installed and on your path :-)    You will also ONLY need to run ./build-armel-apt.sh.
Before you go too far down this rabbit-hole, though, given that you started with geth a PC, you might want to look into geth cross-builds.    My work on cpp-ethereum-cross has been abandoned for a few months, while @karalabe's work on geth cross-builds is ongoing.   The geth cross-build also has the advantage of being fully statically linked, and might "just work".
See https://github.com/ethereum/go-ethereum/wiki/Cross-compiling-Ethereum


(PUP-4822) Fixup acceptance in OSX

The first of these commits re-enables PMT-related tests for OSX.
We now bundle the GeoTrust Global CA with our vendored openssl,
so we can re-enable tests which require a connection to the
forge on OSX. See PUP-4688 for additional context.
The second commit cherry-picks PUP-4824 from master, which further
fixes OSX acceptance by removing bare calls to getent.

I verified that the PMT tests are working as of the latest puppet-agent build (f0a37c85e5d7) in OSX 10-10:
          - Test Case Summary for suite 'tests' -
   Total Suite Time: 16.56 seconds
  Average Test Time: 8.28 seconds
          Attempted: 2
             Passed: 2
             Failed: 0
            Errored: 0
            Skipped: 0
            Pending: 0
              Total: 2

Also verified that /opt/puppetlabs/puppet/ssl/cert.pem exists on the test host and looks as we expect it to.


Firefox does not support "incognito": "split"

Added "incognito": "split" only in Chrome and Opera versions. Issue #9

For Firefox it works out of the box the way it is, just gotta enable Sync Watch to run in Private mode. I just tested it out.

I have this error, loading it as a temporary add-on.

And it's mentioned in MDN that split setting is not supported by Firefox: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/incognito

What I meant to say is the Sync Watch Firefox addon works fine for both normal mode and private mode, without having to add something like we added to Chrome, like "incognito": "split".
So Sync Watch version 0.324 Firefox addon works well for both modes already.
Isn't version 0.324 working fine for you, for both modes, in Firefox?

Oh, Firefox also has "incognito": "split", I didn't know about that. But version 0.324 works fine without it, I don't know why, but it works.

Yes, Firefox working fine with 0.324 version.
Now I need to split manifest file between Chrome and Firefox. So, I just keep that issue open as a reminder.

Now manifest splitting in CI workflow
It removes "incognito": "split", line for Firefox manifest.


Broken Chain in JSON rpc nodes with Flow-Testnet

Problem
It appears that there are inconsistencies in the public JSON RPC nodes, where the parent hash of block N does not align with the parent hash of block N-1. This discrepancy creates a broken chain in the blockchain
Example
Broken Chain on Block 1
Block 0 Hash -> 0xa09863d709f761517109ed4318c98d646bda9101f421882fa487b13ee3597408
Block 1 Parent Hash -> 0x3cdc76671b5549cd2e025369b3f0ff0e37152ad33757b17376907d259274a8e5

Broken Chain on Block 1385491
Block 1385490 Hash ->0xfc9a0204b12bc4875ed880300d07f27de4f9857be67d13cf72f53b09e8942ced
Block 1385491 Parent Hash->0x0e742970c53cc2924d55830a588609ca1db460cce41850df7af119639fe42d91

Steps to Reproduce

Curl a post command to the public nodes with this payload
Update the "0x0" with the block number in hex
Look at the hash and parent hash field. Make sure that block N and N-1 match
{"method":"eth_getBlockByNumber","params":["0x0",false],"id":1,"jsonrpc":"2.0"}

Thanks for the report @rayyan224 , we'll get this fixed asap :pray:


feat: support iFrames for rectangles with links

resolves: #5363
https://github.com/excalidraw/excalidraw/assets/14358394/1942e000-5c92-4a68-90c5-12aedd45d7b7
Implements embedding of webpages and youtube videos using iFrames positioned over Rectangle elements.
Extends the "Create link" function of the rectangle.
A limitation of this approach is that iFrames will not respect element sequence (i.e. Layers). They will always display on top. Which is not a big issue if you ask me...

[x] respect border-radius
[x] handle youtube links
[x] modify element.link to include a flag for embedding
[x] modify element.link editor with embed checkbox
[x] restore element
[x] Paste http link or YouTube link will create an embed, CTRL+SHIFT+V will not
[x] When creating a YT embed aspect ratio will be 16:9 using the larger of w;h as the base

Hey @dwelle, sorry to bother you again... I'd really love to get your feedback on this PR and get it rolling into production. I've got some more ideas to improve the experience, but I think it'd be better to tackle them once we've had a few weeks of using and gathering feedback from the community.

Hi @dwelle, @ad1992, @vjeux please help me... who would be best to review this FR? I think the solution I propose is simple, and fit for purpose. Would love to get feedback and see it in production soon.

Hye @zsviczian. Thanks for the PR, it was a busy week. I'm aiming for a review tomorrow, but I may take a quick glance and give some notes earlier.

@zsviczian was doing a quick test of the feature, currently I need to replace the youtube links with /embed/id to make it work so can you fix it ?
eg 👇🏻
 https://www.youtube.com/watch?v=AKy6Jx59fis => https://www.youtube.com/embed/AKy6Jx59fis

Hey @zsviczian. This is awesome ❤.
But, we'll need to work on the UX a bit though. Apart from selecting the iframe being hard, dragging is not great because the events gets eaten by the iframe a lot.
But, I mainly worry about performance and load speed. Rendering the iframe content instead of showing a static preview image (for video sites like youtube) will do a lot of requests to the site when the element goes in and out of viewport which can easily start getting rate limited (can repro), and even when not it takes some time before the iframe content renders. And it also impact canvas render speed.

Apart from that, I've noticed multiple rough edges which we can discuss afterward (such as the YT link parser not working correctly). We might also want to optimize the render function itself, TBD.

I have a function in the Obsidian plugin to find the YouTube thumbnail image. I could port it to Excalidraw.com
However, iframes can hold lots of other stuff not just youtube videos. The current solution supports all types of content. I tried various approaches for grabbing the iFrame's content and copying it on a canvas, but always ran into cross-origin issues.
@ad1992 issue is easy to fix. I'll do that tomorrow.
@dwelle maybe I can make the iframe a tiny bit smaller still, that will improve the selection experience.
I could simply hide all the iframes on panning and zooming similar to shouldCacheIgnoreZoom. In this case, only the wireframe of the host rectangle would be visible... unless I find a way around the cross-origin problem of grabbing the iframe image.
My thumbnail grabber from Obsidian:
export const getYouTubeThumbnailLink = async (youtubelink: string):Promise<string> => {
  //https://stackoverflow.com/questions/2068344/how-do-i-get-a-youtube-video-thumbnail-from-the-youtube-api
  //https://youtu.be/z8UkHGpykYU?t=60
  //https://www.youtube.com/watch?v=z8UkHGpykYU&ab_channel=VerbaltoVisual
  const parsed = youtubelink.match(/(youtu.be\/|v=)([^?\/\&]*)/);
  if(!parsed || !parsed[2]) return null;
  const videoId = parsed[2];

  let url = `https://i.ytimg.com/vi/${videoId}/maxresdefault.jpg`;
  let response = await requestUrl({url, method: "get", contentType: "image/jpeg", throw: false });
  if(response && response.status === 200) return url;

  url = `https://i.ytimg.com/vi/${videoId}/hq720.jpg`;
  response = await requestUrl({url, method: "get", contentType: "image/jpeg", throw: false });
  if(response && response.status === 200) return url;

  url = `https://i.ytimg.com/vi/${videoId}/mqdefault.jpg`;
  response = await requestUrl({url, method: "get", contentType: "image/jpeg", throw: false });
  if(response && response.status === 200) return url;

  return `https://i.ytimg.com/vi/${videoId}/default.jpg`;
}

However, iframes can hold lots of other stuff not just youtube videos. The current solution supports all types of content. I tried various approaches for grabbing the iFrame's content and copying it on a canvas, but always ran into cross-origin issues.

We were discussing and thought it might be a good idea to support only a subset of iframes similar to what Figma is doing, and add new ones as people request them if they make sense.
So let's say we'd start with:

youtube
vimeo
excalidraw
figma
hosted *.pdf links (?)

That way we could also tailor thumbnails to each.

or we can support thumbnails for a subset like the one you list, and show a generic empty frame during panning and zooming for the others... I have some solution ideas, I'll play with them tonight and see if any of them results in a workable alternative.

@ad1992: I fixed the youtube link
@dwelle: I improved on the UX

you can now click anywhere on the iframe to select the rectangle
you need to double-click the iframe content to activate it
during element resizing and otherwise, when the iFrame is not active it won't capture events (pointer-events: none)

@zsviczian nice!
Can we make the video playable by single-click if you click on the play button? Obviously we'd either have to consider the center vicinity click as a click on the play button. Or we could render a preview w/o the play button and add our own same as Miro is doing (though unclear if YT supports generating previews w/o play button or they do something custom):

I assume that using ?autoplay=1 url when you click on the center would do the trick, but unsure.

@dwelle

Can we make the video playable by single-click if you click on the play button? Obviously we'd either have to consider the center vicinity click as a click on the play button. Or we could render a preview w/o the play button and add our own same as Miro is doing (though unclear if YT supports generating previews w/o play button or they do something custom):

The current design reflects how Obsidian Canvas works, except that in Canvas you need to single-click the video to activate the content before needing to click again to play, and in the current Excalidraw design you need to double-click. After some testing I decided for the double-click because when the frame is active it captures events, which was problematic when you single click only to move, rotate or change border color, etc.
?autoplay=1 is not a bad solution BUT

what about Vimeo, and other embedded content. I'd rather have a consistent approach (double click to activate content, be it youtube, vimeo, pdf, or any other webpage), than have different approaches for different sources
If you want to stop and start a video, wouldn't modifying the link result in the video resetting to the original timestamp?

That said, I am going to play with this a little to see if there is an easy solution.
If structurally you are ok with the PR, I would rather put this live and then apply incremental changes based on real life use, instead of keeping it in PR state for much longer. I think for an MVP we have a good enough solution.

@dwelle
After some testing, I conclude that setting autoplay=1 is not a good strategy as it will always start the video from the beginning. This is not desirable. Imagine the use case when you are taking study notes by mind mapping in Excalidraw around the video, you will want the video to resume from the previous position each time you start and stop it.
I tried at least 5 different ways to punch a hole on the overly DIV with pointer-events: none, such that I could automatically start the video in the iframe, but without success. Finally, I developed a solution that is pretty user-friendly once you get the hang of it. If you want to activate the webpage or play the video then you can touch the center of the frame, which will activate the element immediately. Then touching a second time will start the video, or in the case of a webpage, touching a second time you can already interact with the webpage.
I played with Miro. I actually dislike their approach to website embedding. You only get a tiny thumbnail and need to open the webpage in another window. I prefer the Obsidian Canvas approach, which is now the basis of my Excalidraw solution, where the website is displayed on the canvas, and you can browse it in the iframe.
I added support for vimeo, twitter, and figma links.
The issue of image exports is yet unsolved, however, I would postpone fixing image exports to the next PR. In SVG exports we actually have the option of including the iframes as foreign objects... but that requires a bit of testing. For PNG export we could grab the thumbnail for the content that is possible to capture the thumbnail for and display the link in the empty frame for the others. But I think the solution is already a huge step forward and as said before, I'd rather see this in production, than on the drawing board for several more weeks.

I played with Miro. I actually dislike their approach to website embedding. You only get a tiny thumbnail and need to open the webpage in another window. I prefer the Obsidian Canvas approach, which is now the basis of my Excalidraw solution, where the website is displayed on the canvas, and you can browse it in the iframe.

Agreed. I meant the autoplay part only.

I tried at least 5 different ways to punch a hole on the overly DIV with pointer-events: none, such that I could automatically start the video in the iframe, but without success. Finally, I developed a solution that is pretty user-friendly once you get the hang of it. If you want to activate the webpage or play the video then you can touch the center of the frame, which will activate the element immediately. Then touching a second time will start the video, or in the case of a webpage, touching a second time you can already interact with the webpage.

Playing with it, I'm actually not sure I like the current behavior because at least on my end if you double click the center it not only autoplays, but fullscreens as well, which I find undesirable.
In any case, my goal with the click-center-to-play is to make the UI more intuitive and approachable. Most people (me included) are not used to having to double-click a video to either make it interactive or start playing it.
So if we don't add autoplay on single click, then I'm for not making the center click behavior in any way unique to minimize surprising behavior, since it's non-intuitive as it is, already.
Instead, to teach people how to use the embed, we'll want to add 1) hints (below toolbar), and 2) if you only single-click the embed, we can display a timed-out hint inside the embed itself. But we can leave (2) for later.
Sidenote, ad the autoplay=1 always starts at the beginning: the single-click-to-autoplay would (should) only work when the video is not started, and the play button is displayed. Similarly, if we kept the single-click-to-interactive, it should apply the same logic, because once you're in the middle of the video there's no indication that the center of the embed should have any special behavior.

As for export, we should definitely export at least something that doesn't look broken. So the empty rectangle should display a text such as the url address.

@dwelle

Playing with it, I'm actually not sure I like the current behavior because at least on my end if you double click the center it not only autoplays, but fullscreens as well, which I find undesirable.

I found a way to make Vimeo and YouTube will play/pause with a single click to the center even if they are not the active elements.

As for export, we should definitely export at least something that doesn't look broken. So the empty rectangle should display a text such as the url address.

Export:

SVG export will include iframes as foreignObjects
PNG will include a gray box with the address in the middle unless the rectangle has a bound text element, which the user can use to set an ALT message... doing this is currently not super intuitive: you need to "un-embed" the link, then you can edit the text, then click the embed button again. I would leave this as a hidden pro feature for now.

if the hosting rectangle has a background color other than "transparent" then the placeholder will use that background color and the fill style, if background is transparent then placeholder will be solid gray.
if the rectangle has a stroke color other than "transparent" then the text in the middle will use the stroke color, otherwise black.

moved to #6691


hotfix/retrofit -> dev

This change is

Reviewed 2 of 2 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

support/build.gradle, line 48 at r1 (raw file):

    compile 'com.prolificinteractive:material-calendarview:1.4.3'
    compile 'com.squareup.okhttp3:logging-interceptor:3.10.0'
    compile 'com.squareup.retrofit2:converter-gson:2.3.0'

2.4.0

support/build.gradle, line 49 at r1 (raw file):

    compile 'com.squareup.okhttp3:logging-interceptor:3.10.0'
    compile 'com.squareup.retrofit2:converter-gson:2.3.0'
    compile 'com.squareup.retrofit2:retrofit:2.3.0'

2.4.0

Comments from Reviewable

Review status: all files reviewed at latest revision, 2 unresolved discussions.

support/build.gradle, line 48 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
2.4.0

Done.

support/build.gradle, line 49 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
2.4.0

Done.

Comments from Reviewable

Reviewed 2 of 2 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Add support for AVIF

Sharp should soon be releasing AVIF support. This PR uses the alpha-3 version of libvips and upcoming version of Sharp to add support for avif images.
This should work the same as webp: there is an X-Avif header or avif=1 param, and the detection is expected to be handled by a lamnda function the same as WebP (check for accept:image/avif header).
The results in test are good and bad:
┌───────────────┬───────────────┬────────────────────┬──────────┬──────────┬──────────┬───────────────┬───────────────┐
│ Image         │ Original Size │ Tachyon Size       │ 100px    │ 300px    │ 700px    │ 700px webp    │ 700px avif    │
├───────────────┼───────────────┼────────────────────┼──────────┼──────────┼──────────┼───────────────┼───────────────┤
│ briefing-cop… │ 442.52 KB     │ 112.67 KB (25%)    │ 3.01 KB  │ 9.34 KB  │ 28.51 KB │ 15.31 KB (53… │ 14.57 KB (51… │
│ hdr.jpg       │ 222.58 KB     │ 145.56 KB (65%)    │ 10.4 KB  │ 23.53 KB │ 85.59 KB │ 80.86 KB (94… │ 111.09 KB (1… │
│ icons.png     │ 94.24 KB      │ 27.37 KB (29%)     │ 3.89 KB  │ 11.31 KB │ 26.94 KB │ 23.93 KB (88… │ 13.25 KB (49… │
│ Website.png   │ 32.38 KB      │ 33.78 KB (104%)    │ 3.26 KB  │ 13.27 KB │ 33.78 KB │ 19.81 KB (58… │ 22.21 KB (65… │
│ humans.png    │ 2.22 MB       │ 853.21 KB (37%)    │ 8.96 KB  │ 54.66 KB │ 273.89 … │ 139.19 KB (5… │ 174.48 KB (6… │
└───────────────┴───────────────┴────────────────────┴──────────┴──────────┴──────────┴───────────────┴───────────────┘

In some cases it's less than webp, and in some cases more. I think it might be to do with these comparisons being quality:100, where we might do better at slightly dropping quality

Oh nice. Have the security issues upstream in libvips been fixed?

Apparently so! Release imminent

On Dec 19, 2020, at 15:05, roborourke<EMAIL_ADDRESS>wrote:

Oh nice. Have the security issues upstream in libvips been fixed?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

I think we might want to default webp over avif still, I included a script to compare real-world data in webp images, creating AVIF versions of the same, and comparing on average.
I compared 1000 popular image requests to Tachyon, which resulting in the following:
Based off request counts, WebP total data: 2.15GB vs Avif: 2.38GB
Avif files 11% larger in total
225 of 1000 avif files were smaller than webp.
86s in webp generation, 1782s in avif (avif 20x slower) (on fastest compression option).

FYI based off https://www.industrialempathy.com/posts/avif-webp-quality-settings/, I applied the quality normalization, as that was responsible for making AVIF looking perticuliry bad, once I did that, I'm now seeing much better file sizes, even with switching to speed: 9:
Based off request counts, WebP total data: 0.44GB vs Avif: 0.40GB
Avif files 9% smaller in total
854 of 996 avif files were smaller than webp.
81885ms in webp, 247999ms in avif.

@joehoyle Is there a plan to continue this implementation?

Sharp is at version 0.30.7 now (0.29.3 in this PR). Could be worth upgrading.

I cleaned this up and atleast we have it ready to do with opt-in. @roborourke could I get a final review and then I can merge. Then I want to add jpegxl once this is in.


implement  component reponsive style

https://www.figma.com/file/vqpglMGW8psHKB00eIVDUV/OpenSquare?node-id=4799%3A369479

[ ] Mobile mode does not support wallet connection for now.

preview

[ ] Connecting wallet is not supported in mobile mode

preview

[ ] Add product switching menu
[ ] Implement to voting

preview

Off-chain voting: Multi-chain assets off-chain voting platform for Polkadot ecosystem
Paid QA: Decentralized paid QA platform


Add recipe to replace Annotation

What's changed?
Add a Recipe which replaces an Annotation with a JavaTemplate.
What's your motivation?
While writing a cross Framework Migration from TestNG to JUnit Jupiter I implemented the replacement of annotations repeatedly.
This could become handy for other cross Framework Migrations as well.
Anything in particular you'd like reviewers to focus on?
Anyone you would like to review specifically?
Have you considered any alternatives or workarounds?
Any additional context
Checklist

[x] I've added unit tests to cover both positive and negative cases
[x] I've read and applied the recipe conventions and best practices
[x] I've used the IntelliJ IDEA auto-formatter on affected files

Thanks @MBoegers !

I've cleaned up the formatting of the tests, enabled them, and ensured that the relevant parser classpath can configured.
https://github.com/openrewrite/rewrite/commit/4831b1fb79a9e035862afbb9e72793b2bf824365

I open an issue for the unexpected behaviour of ShortenFullyQualifiedTypeNames 4222


Incorrect Reference? MongoDBAtlasVectorSearch

I generated the app with the combinations of NextJs +  Express + MongoDB.
The below code is found in ".\backend\src\controllers\engine\generate.ts" and ".\backend\src\controllers\engine\index.ts":-
import { MongoDBAtlasVectorSearch } from "llamaindex/storage/vectorStore/MongoDBAtlasVectorSearch";
However, I had to resolve the reference error with below code:
import { MongoDBAtlasVectorSearch } from "llamaindex";
Please, check if this update is needed.

Also in settings.ts
import { HuggingFaceEmbedding } from "llamaindex/embeddings/HuggingFaceEmbedding";
import { OllamaEmbedding } from "llamaindex/embeddings/OllamaEmbedding";
import { ALL_AVAILABLE_ANTHROPIC_MODELS } from "llamaindex/llm/anthropic";
import { Ollama } from "llamaindex/llm/ollama";

Thanks @balasubramaniam-ramasamy we'll update the references

@thucpn i updated the MongoDB references. Please have a look why the settings.ts are not caught by our e2e


PKR is missing!

Love the service. But PKR currency is missing. Any chance you can add that?

Only rates/currency's published at https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html are supported.

That's sad. Thank you.


I actually created a simple one.

I actually created a simple one.
Just syntax highlighting.
https://plugins.jetbrains.com/plugin/7628-emblem
Originally posted by @patricklx in https://github.com/machty/emblem.js/issues/291#issuecomment-302860469

nice plugin! But cannot use it in the latest jetbrain IDEs


Finetune error fo mlx-community/Meta-Llama-3.1-8B-Instruct-4bit

Really appreciate for the youtube video for finetune with Mac M1,
And I can run the finetune successfully on my Mac M1.
python scripts/lora.py --model mlx-community/Mistral-7B-Instruct-v0.2-4bit --train --iters 100 --steps-per-eval 10 --val-batches -1 --learning-rate 1e-5 --lora-layers 16 --test

And I want to fine tune with mlx-community/Meta-Llama-3.1-8B-Instruct-4bit, and it has the errors.
Not sure you have got the chance to try it.
(mlx-env) ➜  qlora-mlx git:(main) ✗ python scripts/lora.py --model mlx-community/Meta-Llama-3.1-8B-Instruct-4bit --iters 100 --steps-per-eval 10 --val-batches -1 --learning-rate 1e-5 --lora-layers 16 --test
None of PyTorch, TensorFlow >= 2.0, or Flax have been found. Models won't be available and only tokenizers, configuration and file/data utilities can be used.
Loading pretrained model
Traceback (most recent call last):
  File "/workspace/YouTube-Blog/LLMs/qlora-mlx/scripts/lora.py", line 336, in <module>
    model, tokenizer, _ = lora_utils.load(args.model, tokenizer_config)
  File "/workspace/YouTube-Blog/LLMs/qlora-mlx/scripts/utils.py", line 149, in load
    model_args = models.ModelArgs.from_dict(config)
  File "/workspace/YouTube-Blog/LLMs/qlora-mlx/scripts/models.py", line 40, in from_dict
    return cls(
  File "<string>", line 14, in __init__
  File "/workspace/YouTube-Blog/LLMs/qlora-mlx/scripts/models.py", line 33, in __post_init__
    raise ValueError(f"rope_scaling must contain keys {required_keys}")
ValueError: rope_scaling must contain keys {'factor', 'type'}

yes same idea, and the same error :-(
mlx-community/Meta-Llama-3-8B-Instruct-4bit runs...
mlx-community/Meta-Llama-3.1-8B-Instruct-4bit dosen' run

@pjq @straussbastian Thanks for raising this! It might be tricky since the original code was made for Mistral and Llama3, but I'll spend some time on it and share my results here.
If anyone makes any headway any insights would be appreciated :)


[Bug]: Issue with scanning multiple AWS Accounts

Steps to Reproduce
This is in AWS, running Organizations and trying to scan multiple accounts in Parallel.
Following the instructions https://github.com/prowler-cloud/prowler/blob/master/docs/tutorials/aws/multiaccount.md,
ROLE_TO_ASSUME=<role_name>
PARALLEL_ACCOUNTS="3"
for accountId in $ACCOUNTS_LIST; do
test "$(jobs | wc -l)" -ge $PARALLEL_ACCOUNTS && wait || true
{
prowler aws --role arn:aws:iam::$accountId:role/$ROLE_TO_ASSUME
} &
done
I am running this on a Mac, not sure if that should make a difference.
2023-03-16 14:41:55,694 [File: audit_info.py:212] 	[Module: audit_info]	 CRITICAL: RoleArnParsingFailedMissingFields -- The assumed role arn contains a number of fields different than six separated by :, please input a valid arn
Expected behavior
Prowler running checks on multiple accounts in Parallel, it seems like a good powerful tool but if we cannot scan multiple accounts in parallel it isn't scalable.
Actual Result with Screenshots or Logs
2023-03-16 14:41:55,694 [File: audit_info.py:212] 	[Module: audit_info]	 CRITICAL: RoleArnParsingFailedMissingFields -- The assumed role arn contains a number of fields different than six separated by :, please input a valid arn
How did you install Prowler?
From brew (brew install prowler)
Environment Resource
Local machine
OS used
MacOS
Prowler version
Prowler 3.2.4
Pip version
pip 23.0.1 from /opt/homebrew/lib/python3.11/site-packages/pip (python 3.11)
Context
No response

Hi @Ty-Cloudscaler,
It looks like the command prowler aws --role arn:aws:iam::$accountId:role/$ROLE_TO_ASSUMEis not getting the variables properly and thus the ARN is not valid as we can see in the error.
Remember you need to declare $ACCOUNTS_LIST with the list of accounts separated by space like in ACCOUNTS_LIST="111111111 2222222 333333" I don't see that variable in your code.
Let us know if that helps.

Hi @toniblyx, thanks for the quick reply. We have now figured it out, I was in zsh on the MacOS. When I switched to Bash it worked :-)


[NME] Profiling and optimizations

I put that here to start the discussion. feel free to close it if irrelevant.
When working on my demo I got some issues with shader performances.
I have a quite heavy vertex position computation (with multiple texture sampling). When I also use that position in the fragment shader, I guess the code is replicated in the fragment and instead of having only computation on the VS, it gets also done per Fragment.
My idea is to do a recursive prepass when generating shader with this predicate: if all the inputs of a node only depends on per-vertex attributes, then compute only on VS and store the value in a varying.
second request: a VS and FS profiling tab where I can see the complexity of the generated shader. Basically, I want to know the estimated number of instructions, the number of texture sampling and the number of varying.
This will help find performance bottle necks.

My idea is to do a recursive prepass when generating shader with this predicate: if all the inputs of a node only depends on per-vertex attributes, then compute only on VS and store the value in a varying.

When doing this shader, at first it did not work because the sampling of currentScreen was done in the vertex shader as all inputs could be evaluated in the vertex shader.
In my case I solved the problem by simply updating the code of the CurrentScreen block because it's what we really wanted: for post processes, we want the sampling to be done per pixel.
But in other cases, we could want the sampling (or any other operation for that matter) to be done either in the vertex or in the fragment, meaning when the heuristic determines the code can be done in the vertex we should still have the possibility to bypass it and do it in the fragment. But how do we allow the user to choose what to do in this case in the NME?

My idea is to do a recursive prepass when generating shader with this predicate: if all the inputs of a node only depends on per-vertex attributes, then compute only on VS and store the value in a varying.

This is already supposed to work like that actually. Unless a node forcefully ask to be in fragment.
@CedricGuillemet: Do you have some examples we can use to fix / improve that idea?
@CedricGuillemet: I like the VS / FS profiling tabs. Please create a separate issue for it. We will define who wants to work on it later. This is pretty easy as we already have all the info to build the final shader

@CedricGuillemet I also love the idea of the VS/FS profiling. I think this would be really useful even in the early design of a shader so we can make confident tradeoffs early rather than trying to optimize at the end which could invalidate a bunch of work that would not have been necessary had we known going in that the performance trade-offs were too high.

It must be something else then for my slow material. I'll do a repro after 4.2 release as it's not that urgent.
Issue for profiler tab : https://github.com/BabylonJS/Babylon.js/issues/9373
Closing this one.


Block video by language used in description

I get a number of Japanese and Spanish language videos in my feed (I speak neither language) and
have no interest in them.
Describe the solution you'd like
What I would appreciate is the ability to block videos who are in certain languages, or possibly not in English.

Sadly it is not easy to detect languages and I don't want to use an external service to do this because of privacy reasons. So I wont be implementing this feature.
Thank you for suggesting this enhancement though!


Add circom verification

@matteomer and @0xTitan have been using zkEmail to build a demo on Hylé and the current version uses circom, which we don't support yet on Hylé. The goal of this issue is to add it to Hylé.
Initial idea from @0xtitan:

"From what i quickly check it uses snarkjs. I don't know if there is go verifier.
From my understabnding it could be interesting to add a new verifier in Hylé for circom  : snarkjs-groth16.
This verifier can be called with : 'snarkjs groth16 verify verification_key.json public.json proof.json' (from documentation)
So it needs 3 inputs :

verification_key.json that can be used as program_id (same as noir)
public.json to be check how it can passed to Hylé
proof.json to be transform to make it compatible with Hylé
For me same approach as Noir can be used with the usage of Barretenberg and 'bb' command https://github.com/Hyle-org/hyle-cosmos/commit/5ec65d9d7bf3b5fbbd4c1e474e49138055368583#diff-c237fe289482abdcc5daea6423083f375c10740cfb243900c10c42b663671ae8R111"

Comments from @wraitii:

"Basically the msg_server.go file should be incremented with support for snarkjs-groth16, and work similarly to Noir. Except the noir script also calls bb, but you should just be able to verify directly in JS"

I can work on this !


Migrate query.mac and query.ip to query.macs and query.ips

Deprecate query.mac and query.ip and use unified query.macs and query.ips.
no matter node exist or don't exist, update lookup every time in case IP is changed for some reason.

@RackHD/corecommitters @jeamland @jlongever

test this please

*** BUILD #2226 ***
Test Name: Http.Api.Notification "before all" hook: start HTTP server
Error Details: Attempted to wrap undefined property publishTaskNotification as function
Stack Trace: TypeError: Attempted to wrap undefined property publishTaskNotification as function
    at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:106:29)
    at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
    at Context.<anonymous> (spec/lib/services/notification-api-service-spec.js:27:15)

The Jenkins error has been fixed by reverting the change of PR https://github.com/RackHD/on-core/pull/194

jenkins: test this please

The doc for static DHCP config should be updated accordingly:
http://rackhd.readthedocs.io/en/latest/rackhd/dhcp_server.html?highlight=dhcp#static-dhcp-configuration

@yyscamper  RackHD/docs PR is WIP

test this please

:+1:

test this please

:+1:


pr2_robot: 1.6.24-0 in 'indigo/distribution.yaml' [bloom]

Increasing version of package(s) in repository pr2_robot to 1.6.24-0:

upstream repository: https://github.com/pr2/pr2_robot.git
release repository: https://github.com/pr2-gbp/pr2_robot-release.git
distro file: indigo/distribution.yaml
bloom version: 0.6.2
previous version for package: 1.6.23-1

1.6.24 doesn't seem to have been imported in the release repository. Did bloom run successfully without warnings? Maybe you forgot to push the changes to the release repository?

OK, I'm giving this another try, I think there was a bad import into release.


GCC version, zicsr extension requirement

Describe the bug
Hello, the default compilation architecture of the bootloader is rv32i but newer versions of the riscv gcc requires the zicsr extension to handle processor register instructions. Since bootloader has a lot of these instructions, compilations results in an error  below
../../sw/lib/include/neorv32_cpu.h:261: Error: unrecognized opcode csrc 768,a5', extension zicsr' required
To Reproduce
Compile the bootloader code my "make bootloader" with a new version of the riscv gcc
Additional context
I realize that the default architecture is set to rv32i so that it can work on different cores but this causes the problem mentioned above.

 Newer versions of RISC-V GCC require _zicsr to be added to the MARCH string. Since this is already a mature feature I think we can modify the project's makefile to default to march=rv32i_zicsr. I will open a pull request for this.
Thank you very much for the hint! :+1:


How to integrate with shadow-cljs project?

I have never used shadow-cljs, sorry. Does it use the jvm at all, or does it run completely on node?

I created a dummy project.clj as described here, and can now connect to the shadow nREPL via the nightlight plugin.


Functional website

Coded website with node.js, pug, less, bower, grunt tasks for development, production and surge deployment.

Broken developer pages into separate files so they can have different URLs.
Fixed broken SVG (fuzzy font on Firefox) on homepage.
@ethers please review

@cubedro Thank you for your implementation!  It has been deployed to btcrelay.org
Further notes:
I am still figuring out what to do with this pull request: for now the website/dist directory of this frontend branch was pushed (force required) to the tempGH branch using:
git push origin `git subtree split --prefix website/dist origin frontend`:tempGH --force

And then in gh-pages branch, this was run to deploy to btcrelay.org:
git merge -Xtheirs origin/tempGH

New site looks great!


GIN is not recognized as a git-annex enabled repository when using the HTTPS protocol

Hi, G-Node/gogs Team.
I want to ask you this issue.
GIN is not recognized as a git-annex enabled repository when using the HTTPS protocol.
I cloned a GIN repository with HTTPS protocol and then did git annex init on the cloned local repository, but it is not recognized as a git annex-enabled remote.
I checked the .git/config file and it says annex-ignore=true.

Because of this, git annex copy --to [GIN remote repository] is not possible with HTTPS protocol.
If there are any mistakes in my understanding please let me know.
sincerely yours,
Rino Mizuguchi

Hi mpsonntag,
Thanks your comment.
I understand that only ssh is supported to upload annexed contents.


ZEPPELIN-377 CI hanging on ./testing/startSparkCluster.sh 1.4.0 2.3

Address https://issues.apache.org/jira/browse/ZEPPELIN-377.
This patch change spark package download location from apache archive to mirror, to download in 10min.
Also add missing test for 1.5.1 and change test version from 1.4.0 to 1.4.1

looks good

This PR fixes master branch CI failure.
Merge if there're no more discussions.

Go for it


DINet implementation

Hi @hitlecapital, Would like to know whether the DINet implementation that you mentioned is already in the code?

The same question here . Any estimation ?


set npm main file

that is important for build tools

I hope this gets accepted since it solves #39

Could you add the dependency rfc6570?

@maennchen,
done


Will Rosetta use BluePad32 for wireless joysticks?

https://gitlab.com/ricardoquesada/bluepad32

Yes, Rosetta will be using BluePad32 for wireless gamepads at least for prototyping. In future, I might create my own Bluetooth library for better support with the Rosetta remapping functionality. But for now, I am using BluePad32 because it works out of the box.


Investigate occasional double posting

Quad post here:
https://www.reddit.com/r/admincraft/comments/3bmgc7/looks_like_quivers_are_no_longer_going_to_be_a/
Suggestion: Store an list of posts already replied to, and don't post to those again.

Double post here:
https://www.reddit.com/r/dotamasterrace/comments/3h3phv/redeye_told_his_friend_to_try_dota/

And here
https://www.reddit.com/r/unitedkingdom/comments/3htzl1/andy_burnham_calls_for_urgent_meeting_over/

https://www.reddit.com/r/kpop/comments/3uflar/unpretty_rapstar_and_show_me_the_money_to_be_on/
Double post here


Update mkdocs-material and switch to nav sections (SOFTWARE-4584)

Hey @mtru32 did you try this configuration locally and verify that all the pages looked ok?

@brianhlin I checked over the local configuration and it LGTM!


Use pydocstyle

Codecov Report

Merging #35 (120769e) into master (b96de69) will increase coverage by 0.17%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #35      +/-   ##
==========================================
+ Coverage   98.75%   98.92%   +0.17%
==========================================
  Files          18       18
  Lines         560      558       -2
==========================================
- Hits          553      552       -1
+ Misses          7        6       -1

Impacted Files
Coverage Δ

residuated_binars/add_task.py
100.00% <ø> (ø)

residuated_binars/algebraic_structure.py
100.00% <ø> (ø)

residuated_binars/axiom_checkers.py
100.00% <ø> (ø)

residuated_binars/check_assumptions.py
94.59% <ø> (ø)

residuated_binars/constants.py
100.00% <ø> (ø)

residuated_binars/filter_theories.py
93.75% <ø> (ø)

residuated_binars/parser.py
96.22% <ø> (ø)

residuated_binars/use_nitpick.py
100.00% <ø> (ø)

residuated_binars/__init__.py
100.00% <100.00%> (ø)

residuated_binars/abelian_group.py
100.00% <100.00%> (ø)

... and 8 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b96de69...120769e. Read the comment docs.


Use project.pluginManager instead of project.plugins whenever possible

Fixed with https://github.com/aalmiray/kordamp-gradle-plugins/commit/0fc9c5b559adedd5d83561f606b0b834181a5aee


Device Crashes when Host Device goes to sleep/powers down

So, odd bug: the device will crash when the host goes into sleep/powers down.
The Display reads "USBerror: USB busy". Doesn't matter if USB memory is set to readonly or not, if usb_cdc is enabled, etc. It seems that any interactions with memory in the main loop while the Host device is in these power states causes the USB issue.
Code can be found here: https://github.com/LibertyBeta/macro_pady

Does it crash immediately when the host device goes to sleep or powers off? or only when you press a button that is attempting to send shortcut keys to the host system? Or some other time?

It crashes almost instantly. No interaction is required. I haven't tested
if interaction makes it crash sooner.

Rainer Paskiewicz
On Mon, Aug 9, 2021, 4:10 PM foamyguy @.***> wrote:

Does it crash immediately when the host device goes to sleep or powers
off? or only when you press a button that is attempting to send shortcut
keys to the host system? Or some other time?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/adafruit/Adafruit_CircuitPython_MacroPad/issues/23#issuecomment-895507447,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANO2MEOEIDTTVJLNCEFSXLT4AYZZANCNFSM5B2TUAGQ
.

Can you post the full stack trace that you're seeing? I'm curious to see which lines are initially raising the error.

Still trying to find a good way to dump the trace as it's when the host is
powered down.  Any ideas are welcome.
On Mon, Aug 9, 2021, 10:26 PM foamyguy @.***> wrote:

Can you post the full stack trace that you're seeing? I'm curious to see
which lines are initially raising the error.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/adafruit/Adafruit_CircuitPython_MacroPad/issues/23#issuecomment-895679526,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANO2MFW2GGNPX5KL5OOIJDT4CE7FANCNFSM5B2TUAGQ
.

So, after MUCH tracing, looks like the issue is with a macropad.keyboard.release_all() call fouling things up.

release_all() sends a report with all the values set to value (nothing is pressed).

Yep, but that's what's crashing when the host is disconnected(IE, shutdown).

maybe this could help, https://github.com/hathach/tinyusb/pull/1020 would you mind switching the lib/tinyusb to branch https://github.com/hathach/tinyusb/tree/rp2040-disconnect-suspend . It isn't merged to tinyusb master yet, since the bug it tries to solve isn't fixed yet.

this is fascinating because I'd like to detect host sleep/powerdown in my code... I tried finding the right place for it in the circuitpython source this morning but had no luck. Right now I'm just doing a timeout based on last interaction.

https://github.com/hathach/tinyusb/pull/1020
This has been folding into TinyUSB, just waiting on news of how its going to be upstream into the main build. Still need details on this will interact with the Macropad.

Can confirm on most recent firmware that supervisor.runtime.usb_connected reports correctly now, but release, etc, still error. Should be a simple matter of having the lib check the supervisor to make sure there is an active connection before sending the keystrokes.

I can confirm that changing the library to include a check for usb_connected at the beginning of all the release functions does seem to solve this issue. I put a check for it at the beginning of my main loop to gracefully shut down and stop doing anything that may call one of those functions which works well.

Is there any update on this bug? I am currently using the Macropad as a boot device to assist some boot time processes and in between bit locker and windows, If any key is pressed the board crashes.

I haven't seen this in a while. I would imagine that a new CircuitPython version sometime in the last year probably incorporated the fix.


/v1/list-approved-applications-in-generic-representation service is getting stuck

Problem Description:
When we execute /v1/list-approved-applications-in-generic-representation is getting stuck with below mentioned error
undefined
(node:15324) Warning: Accessing non-existent property 'getProfileListAsync' of module exports inside circular dependency
(Use node --trace-warnings ... to show where the warning was created)

Pull request was created. I believe that the list consequent-action-list will stay empty for this response, is that correct?

@DanaSunal , yes you are right. There will be no consequent action for this request  as there is no action-profile defined for this request "/v1/list-approved-applications-in-generic-representation" in the configuration file.


how to get all available elements on current window

How can i get all available elements present on the current window with their rect.
https://github.com/yinkaisheng/Python-UIAutomation-for-Windows:  Like this script does

Try print_control_identifiers: https://pywinauto.readthedocs.io/en/latest/code/pywinauto.application.html?highlight=print_control_identifiers#pywinauto.application.WindowSpecification.print_control_identifiers

It's worth reading the Getting Started Guide to avoid such a basic questions about core concepts of pywinauto. Also you may need methods like .children() or .descendants() but writing WindowSpecifications is better way as it is analogue of locators in Selenium.

Thanks airelil. Sorry i didn't mentioned in my question that i tried the print_control_identifiers methods. But for print control I am first required to get a control of window and then I can print all the controls available for that window. What I want is to get all the available controls of window without actually specifying the window. Which ever window is present at the front get all the controls of that window. I tried searching in the pywinauto documentations but didn't found any way to do that.

Now you cannot chain WindowSpecification from wrapper object (planned for future releases) if you mean this way. To list all the top windows: app.windows() returns a list of top level window wrappers, each contains method .window_text() which return value is useful for creating WindowSpecification. There is no better syntax sugar for it for now.


New device with hypens in product class

Hi,
I have just pointed a new device the the CWMP server. It happens to have hyphens in the product class (I-20E-R), which I suspect is causing issues in various places.  Hyphen seems to be used to create a unique id for the device.
I have pulled the latest genieace-gui code from GIT, and it is the same.
When I go to show the device with the following URL I get this error:
URL:  http://<IP_ADDRESS>:3000/devices/086C7-I%252D20E%252DR-787634744

NoMethodError in Devices#show

Showing /usr/local/src/genieacs-new-gui/app/views/devices/_object_table.html.erb where line #26 raised:

undefined method `[]' for nil:NilClass

Extracted source (around line #26):

23
24
25
26
27
28
29

<%= param_value("#{params['_object']}.#{k}.#{v2}", @device) rescue '' %>
<% v3 = get_param(v2, v) %>
<% if v3['_writable'] %>
<% options = Rails.configuration.parameters_edit["#{params['_object']}.#{k}.#{v2}".gsub(/\.\d+\./, '..')] %>
<a href="#" onclick='editParam("<%= "#{params['_object']}.#{k}.#{v2}" %>", "<%= v3['_type'] %>", "<%= v3['_value'] %>", <%= options.to_json.html_safe %>);return false;'>Edit
<% end %>

Trace of template inclusion: app/views/devices/show.html.erb

Rails.root: /usr/local/src/genieacs-new-gui
Application Trace | Framework Trace | Full Trace

app/views/devices/_object_table.html.erb:26:in `block (2 levels) in _app_views_devices__object_table_html_erb__1935730364283490627_26293860'
app/views/devices/_object_table.html.erb:14:in `each'
app/views/devices/_object_table.html.erb:14:in `block in _app_views_devices__object_table_html_erb__1935730364283490627_26293860'
app/views/devices/_object_table.html.erb:11:in `each'
app/views/devices/_object_table.html.erb:11:in `_app_views_devices__object_table_html_erb__1935730364283490627_26293860'
app/views/devices/show.html.erb:61:in `block in _app_views_devices_show_html_erb__2676220600241539780_27607860'
app/views/devices/show.html.erb:48:in `each'
app/views/devices/show.html.erb:48:in `_app_views_devices_show_html_erb__2676220600241539780_27607860'
app/controllers/devices_controller.rb:107:in `block in show'
app/controllers/application_controller.rb:40:in `can?'
app/controllers/devices_controller.rb:101:in `show'

Request

Parameters:

{"id"=>"086C7-I%2D20E%2DR-787634744"}

Toggle session dump
Toggle env dump
Response

Headers:

None

The genieacs-cwmp.log look as below:
4 May 16:44:33 - 086C7-I%2D20E%2DR-787634744: Inform (0 BOOTSTRAP); retry count 0
2015-05-04T06:44:33.153Z - Error: EACCES, open './debug/086C7-I%2D20E%2DR-787634744.dump'
4 May 16:44:45 - 086C7-I%2D20E%2DR-787634744: Inform (0 BOOTSTRAP); retry count 1
2015-05-04T06:44:45.103Z - Error: EACCES, open './debug/086C7-I%2D20E%2DR-787634744.dump'
4 May 16:45:07 - 086C7-I%2D20E%2DR-787634744: Inform (0 BOOTSTRAP); retry count 2
2015-05-04T06:45:07.100Z - Error: EACCES, open './debug/086C7-I%2D20E%2DR-787634744.dump'
4 May 16:45:49 - 086C7-I%2D20E%2DR-787634744: Inform (0 BOOTSTRAP); retry count 3
2015-05-04T06:45:49.103Z - Error: EACCES, open './debug/086C7-I%2D20E%2DR-787634744.dump'
4 May 16:47:11 - 086C7-I%2D20E%2DR-787634744: Inform (0 BOOTSTRAP); retry count 4
4 May 16:47:11 - 086C7-I%2D20E%2DR-787634744: New device registered
4 May 16:47:14 - 086C7-I%2D20E%2DR-787634744: Started task refreshObject(554715ef1bddc3ae590fd314)
4 May 16:47:32 - 086C7-I%2D20E%2DR-787634744: Completed task refreshObject(554715ef1bddc3ae590fd314)
4 May 16:47:32 - 086C7-I%2D20E%2DR-787634744: Presets discrepancy found
4 May 16:47:32 - 086C7-I%2D20E%2DR-787634744: Updating tags +(Registered) -()
4 May 16:57:34 - 086C7-I%2D20E%2DR-787634744: Inform (2 PERIODIC); retry count 0
4 May 17:07:39 - 086C7-I%2D20E%2DR-787634744: Inform (2 PERIODIC); retry count 0
4 May 17:17:44 - 086C7-I%2D20E%2DR-787634744: Inform (2 PERIODIC); retry count 0
4 May 17:27:49 - 086C7-I%2D20E%2DR-787634744: Inform (2 PERIODIC); retry count 0
4 May 17:37:54 - 086C7-I%2D20E%2DR-787634744: Inform (2 PERIODIC); retry count 0
4 May 17:47:59 - 086C7-I%2D20E%2DR-787634744: Inform (2 PERIODIC); retry count 0
4 May 17:58:04 - 086C7-I%2D20E%2DR-787634744: Inform (2 PERIODIC); retry count 0
4 May 18:08:09 - 086C7-I%2D20E%2DR-787634744: Inform (2 PERIODIC); retry count 0
4 May 18:18:13 - 086C7-I%2D20E%2DR-787634744: Inform (2 PERIODIC); retry count 0
4 May 18:28:18 - 086C7-I%2D20E%2DR-787634744: Inform (2 PERIODIC); retry count 0

When I try to reference it via the NBI..
# curl -i 'http://localhost:7557/devices/086C7-I%25252D20E%25252DR-787634744/tasks?connection_request' -X POST --data '{"name":"refreshObject", "objectName":""}'
HTTP/1.1 500 Internal Server Error
Connection: close
Date: Mon, 04 May 2015 08:55:37 GMT
Transfer-Encoding: chunked

I get the following in the genieacs-nbi.log
2015-05-04T08:55:37.777Z - TypeError: Cannot read property 'Device' of null
    at /usr/local/src/genieacs-new/lib/api-functions.js:116:15
    at /usr/local/src/genieacs-new/node_modules/mongodb/lib/mongodb/collection/query.js:159:5
    at /usr/local/src/genieacs-new/node_modules/mongodb/lib/mongodb/cursor.js:758:35
    at Cursor.close (/usr/local/src/genieacs-new/node_modules/mongodb/lib/mongodb/cursor.js:989:5)
    at Cursor.nextObject (/usr/local/src/genieacs-new/node_modules/mongodb/lib/mongodb/cursor.js:758:17)
    at commandHandler (/usr/local/src/genieacs-new/node_modules/mongodb/lib/mongodb/cursor.js:727:14)
    at b (domain.js:183:18)
    at /usr/local/src/genieacs-new/node_modules/mongodb/lib/mongodb/db.js:1890:9
    at b (domain.js:183:18)
    at Server.Base._callHandler (/usr/local/src/genieacs-new/node_modules/mongodb/lib/mongodb/connection/base.js:448:41)

Am I on the right track with the hyphens in the product class?
Any ideas on where to go next?
Thanks in advance :)
Stuart

Hyphens shouldn't be a problem if URL escaping is done correctly. It can be confusing sometimes though. Try the following:
curl -i 'http://localhost:7557/devices/086C7-I%252D20E%252DR-787634744/tasks?connection_request' -X POST --data '{"name":"refreshObject", "objectName":""}'

Thanks.   I have paid closer attention to the escaping.  I still have issues, so perhaps it is with the data whe being retrieved.
I can display of all the data for the device via the NBI, and it is long, so have omitted here for now.
curl  'http://localhost:7557/devices/?query=%7B%22_id%22%3A%22086C7-I%252D20E%252DR-787634744%22%7D'

When performing a refresh:
curl -i 'http://localhost:7557/devices/086C7-I%252D20E%252DR-787634744/tasks?connection_request' -X POST --data '{"name":"refreshObject", "objectName":""}'

it produces an error in nbi.log:
7 May 17:56:12 - Worker 31615 listening to <IP_ADDRESS>:7557
2015-05-07T07:56:21.670Z - TypeError: Cannot read property '0' of undefined
    at /usr/local/src/genieacs-new/lib/api-functions.js:124:72
    at ClientRequest.<anonymous> (/usr/local/src/genieacs-new/lib/api-functions.js:90:7)
    at ClientRequest.g (events.js:180:16)
    at ClientRequest.emit (events.js:95:17)
    at HTTPParser.parserOnIncomingClient [as onIncoming] (http.js:1693:21)
    at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:122:23)
    at Socket.socketOnData [as ondata] (http.js:1588:20)
    at TCP.onread (net.js:528:27)

Using the web interface, the device is displayed fine on http://<IP_ADDRESS>:3000/devices
but when clicking "show" on that device will give the error page below:
URL: http://<IP_ADDRESS>:3000/devices/086C7-I%252D20E%252DR-787634744

NoMethodError in Devices#show

Showing /usr/local/src/genieacs-new-gui/app/views/devices/  where line #26 raised:

undefined method `[]' for nil:NilClass

Extracted source (around line #26):

<%= param_value("#{params['_object']}.#{k}.#{v2}", @device) rescue '' %>
<% v3 = get_param(v2, v) %>
<% if v3['_writable'] %>                                                                                #### THIS LINE IS HIGHLIGHTED
<% options = Rails.configuration.parameters_edit["#{params['_object']}.#{k}.#{v2}".gsub(/\.\d+\./, '..')] %>
<a href="#" onclick='editParam("<%= "#{params['_object']}.#{k}.#{v2}" %>", "<%= v3['_type'] %>", "<%= v3['_value'] %>", <%= options.to_json.html_safe %>);return false;'>Edit
<% end %>

Trace of template inclusion: app/views/devices/show.html.erb

Rails.root: /usr/local/src/genieacs-new-gui
Application Trace | Framework Trace | Full Trace

app/views/devices/_object_table.html.erb:26:in `block (2 levels) in _app_views_devices__object_table_html_erb__1935730364283490627_70316247321620'
app/views/devices/_object_table.html.erb:14:in `each'
app/views/devices/_object_table.html.erb:14:in `block in _app_views_devices__object_table_html_erb__1935730364283490627_70316247321620'
app/views/devices/_object_table.html.erb:11:in `each'
app/views/devices/_object_table.html.erb:11:in `_app_views_devices__object_table_html_erb__1935730364283490627_70316247321620'
app/views/devices/show.html.erb:61:in `block in _app_views_devices_show_html_erb__2676220600241539780_27607860'
app/views/devices/show.html.erb:48:in `each'
app/views/devices/show.html.erb:48:in `_app_views_devices_show_html_erb__2676220600241539780_27607860'
app/controllers/devices_controller.rb:107:in `block in show'
app/controllers/application_controller.rb:40:in `can?'
app/controllers/devices_controller.rb:101:in `show'

Request Parameters:

{"id"=>"086C7-I%2D20E%2DR-787634744"}

Is there something missing from my data set, it appears to have the entire CWMP tree, as well as objects "_value", "_timestamp", "_type", "xsd:string" and "_writable"
Is there something I can add to the _object_table.html.erb that might print out what was the object with the error?  I have not used Ruby before.
Thanks, Stuart

Hi,
I have jumped into Ruby and worked out my problem (related to config).
I modified the erroring line (shown previously) to spit out a HTML comment, and be able to skip getting an error if the value was nil (null).
<% if v3['_writable'] %>

to
<% if v3.nil? %>

<% end %>
<% if ! v3.nil? and v3['_writable'] %>

With this the page generated, and I found the HTML comment that was inserted, and found that it was directly related some settings in config/summary_parameters.yml that I had for another device.  This device did not have the information available.  I really would love to support multiple devices, I guess I could do this by having multiple GUIs.
Thanks for you help anyway, and thanks for this project.
:) Stuart

Glad you had this figured out. But you shouldn't need to have separate GUI's for different models. This needs to be fixed. Will leave this ticket open until it's fixed. Thanks.

Have you fixed the issue yet? I am having same issues when the product class has hypens. Its adding %2D in genieacs and mongo. So remote configuration of these device is impossible.

I have the same issue.
It's like the hypen is urlencoded inside _id field.
Maybe doing a urldecode before saving the _id should be enough...

Is this problem solved in v1.2?

Not solved in v1.2 also.

The percent encoding of some characters in the device ID is intentional.

The percent encoding of some characters in the device ID is intentional.

Thank you for your quick response. Is there any impact without percent encoding in _id? If not, is there any way to sort out this issue? Because I have used Genieacs in our production network and because of this I am not able to work out with the device which has hyphens in product class.
Your help in this matter is highly appreciated.

I don't get what the issue is.

I don't get what the issue is.

Dear Sir,
Device Id in 'Genieacs Server' and 'MongoDB' shows like  the following:
_id: 00259E-HG8546M%2DRMS-48575443373CFD90
But in 'API', device id shows as {_id : 00259E-HG8546M-RMS-48575443373CFD90}
So,  it treats both _ids as different and I'm not able to read/write parameters of this device with API.
Is there any possiblity to replace %2D with hyphen without creating any damage in the existing infrastructure?
Thank You.

I don't see that being the case. Just double checked and I'm getting the correct ID from the API (hyphen properly escaped).

I have the same issue.
The problem is that you always have to urlencode the unit _id in API calls.
From console curl, It is not possible to call some functions based on the unit _id field (although you urlencode it), but from php_curl I have no problem at all.
So if the _id is 086C7-I%2D20E%2DR-787634744
urlencoded is 086C7-I%252D20E%252DR-787634744
It seems that GenieACS replace the hyphen with %2D when, in my opinion, there is no need to...

This helped me to solve the issue. Just like his comment we have to urlencode every time _id.

Yes, you should always pass any dynamic values though an escape function when you're generating a URL. This is an HTTP thing and not specific to Genie.


Add option to use randomized SSH port

VM's default SSH port is 22. This is to add a flag to use a randomized port for SSH.

Close by #8


Add catalogue page

All video and articles should be compartmentalized within this page to allow easy access to our repository of information, including but not limited to...videos, literature, podcasts, etc...
Structure

Catalogue

Videos

Enlightenment
Love
Religion

Literature (example -- N/A at this time)
Podcasts (example -- N/A at this time)

Data

Each category should be loaded with a separate data request

data should be cached

If possible, generate categories dynamically without needing to write any code. I could possible use our CMS to create a folder structure which gets built when a video/essay is created.

General Spirituality (Meta-Spirituality)
Enlightenment
Religious Acceptance
Philosophical Reasoning
Reincarnation & the Soul
Paranormal abilities
PAT (Paranormal Ability Training)
Paranormal Entities
Psychedelics
Law of Attraction
Lifestyle Integration
Conspiracies

General Spirituality (Meta-Spirituality)
Enlightenment
Religious Acceptance
Philosophical Reasoning
Reincarnation & the Soul
Paranormal abilities
PAT (Paranormal Ability Training)
Paranormal Entities
Psychedelics
Law of Attraction
Lifestyle Integration
Conspiracies


feat: support idents in auto tactics

This is still experimental, but it implements identifier support in auto tactics "in the obvious way". It also converts quoteAutoTactic to generate Expr directly instead of going via syntax (this doesn't have any effect other than increasing compile cost AFAICT).

What's the status of this PR? It would be good to have a test showing the changed behaviour. It's clear there's enthusiasm for this one, so it would be nice to get in.


Fix rubocop and display cop name when offense is found

@sferik
This adds a new ignore to rubocop so the test-suite will pass with latest Rubocop.
I also added an option to the rake task so the name of the failing cop will be displayed, making it easier to understand what's going on.
I would advise locking Rubocop in the gemspec to avoid having to go through this when contributing for something different 😄

Coverage remained the same at 95.858% when pulling cde2aa92b8617a6def2377c5d917f3a03d9b54b2 on pschambacher:pschambacher/rubocop_update into e51cd0a28d56f616e9ca5b6421e29b06bf5c647b on intridea:master.


Changed from ; to &&

&& continues the run if the previous command executed correctly, where ; does not and can cause problems

@Kortho This one can cause problems. The reason we actually changed from && to ; is because some commands while executing cleanly do not return 0 (or sometimes even return). Every once in a while this can bite you. Normally, completely agree that you want to reply on "X, Y, Z" happening consecutively, but there are too many moving parts here, and we have seen "non clean" (vs error) codes multiple times show up as randomly as they disappear.


For Wikisql, the random search space is too large, if agg is not empty. How do you deal with this problem?

For Wikisql, if the agg is not empty, it is very hard for the exploring step of RL.
Thank you!

As mentioned in another issue, I didn't do anything special for agg during random search, which can probably be improved.


App Crashing: SIGBART Error

Hi @mihai8804858 . Another error i ran into is the following app crash that happens in the invalidate function of the AudioSynchronizer class.
Here is an logged error:
https://soniahealth.sentry.io/share/issue/55df820e74eb421ea99697b5b93963f2/
It says "It is possible that this object was over-released, or is in the process of deallocation"
Happy to support if I can be of any help.

I wasn't able to reproduce this, but based on the stacktrace I pushed a potential fix. Let me know if this helped.

This issue seems to be resolved. I tested it for an hour now and it didn't crash. Thanks!


Fix all Clippy suggestions (but not add it to CI 🙃)

This PR adds a clippy job to the Azure Pipelines CI.
In addition to adding the job, I made sure to fix all the lints in all the packages.
I'm new to Rust, so please check my code modifications extra carefully 😂

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @Eh2406 (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

Hi @Eh2406!
I'm ready for review.
I'm new to Rust, so please check my code modifications extra carefully 😂

Welcome to the Rust community!  Unfortunately I'm traveling back from a
conference today, I will get a chance to review this in the next couple of
days. Alex is much more ... opinionated about Clippy than I am. Will want
to get his review as well.

You got me a bit nervous 😅
Opinionated how? Is he against it?

Thanks for the PR!
I would personally prefer to not run clippy on CI. My personal opinion is that it generates far too much noise to be useful and encourages the wrong antipattern by sprinkling #[allow] annotations with seemingly random names all throughout the codebase. I don't mind taking PRs to merge improvements every now and then, but I do not want to force all authors for all PRs to work with the pedantry of clippy.
This is just my personal opinion, though, and others on the team may feel different.

Hi @alexcrichton!
My previous experience in open source was contributing to CocoaPods and implementing its CDN registry client/static site. During that work, I've become very used to Rubocop, the Ruby linter. They have it on the CI and it mainly helps with having the code style be consistent.
Allow me to address the concerns you raised:

The anti-pattern of allowing violations can and should be enforced by reviewers. Generally speaking, a conservative policy of "no #allowss unless absolutely necessary" goes a long way.
The pedantry of Clippy can be reduced by adding global #allows`s. In fact, I believe lots of them are already there!
There's currently less pedantry than it seems. After turning Clippy on CI, I've managed to get rid of all the warnings in a matter of a couple of hours. Maintaining this state should be even less arduous.

To summarize - it will help enforce a consistent style and cleaner code. If rustfmt is enforced, Clippy might as well. Plus, it's way easier to appease than the borrow checker 😂 As Rust continues to gain popularity, the number of contributors will increase. We might as well be ready.
Also, having a completely problem-free output in VS Code is exhilarating!

I understand the value of consistency, yeah, and I can see how clippy tries to nudge to more consistent code. That being said I disagree with many of clippy's more pedantic lints, I personally do not like having a massive list of #[allow] at the top of the crate for just clippy, and already in this PR lots of #[allow] is creeping in.
Again, this is just my personal opinion, but I trust development and ongoing maintenance of rustfmt more than I trust the development and maintenance of clippy. The rustfmt style was agreed upon the community through an RFC process and agreement amongst a team, whereas I believe the clippy lints have not. They're simply "if someone implemented it we threw it in and r+'d it".
I should point out though that it's pretty unlikely that I'm going to be convinced to like clippy any time soon. I am not the only maintainer of this project though and while I would push back against adding clippy to CI if everyone else would like it then I'd of course be ok. I'd like more team input about running this on CI first.

So what do you suggest the next steps should be for this PR?
Also, are you folks okay with rebasing and editing commit history and/or deleting commits from a PR? Or should I add commits on top even if they're basically deletions?

:umbrella: The latest upstream changes (presumably #7575) made this pull request unmergeable. Please resolve the merge conflicts.

Yes rebasing and editing the history is fine. I don't think we want to land the CI support, but landing changes which take into account clippy lints is fine. It's preferred to put any #[allow], if required, at the top of the crate rather than on the use site.

I've revised the suggested changes. For now, I've kept the Clippy CI because it's the easiest way for me to know that all my changes are good, Clippy-wise 🙃
What other things need to happen for allowing the linting to be performed by CI? The benefits are clear and I think shouldn't be ignored.

We discussed this at the Cargo team meeting yesterday. We are not going to run Clippy in azure at this time. If you can add a commit removing the changes to azure-pipelines.yml we are happy to merge the other changes. (I'd prefer to keep it in the history as it looks like a valuable list of all the things that needs to be done to check with clippy.) We don't think it is controversial to say that clippy is at times pedantic and needs a large numbers of #![allow(clippy:: to make acceptable. We discussed some changes that may improve the signal/noise, but it is more an issue for the clippy devs. We acknowledge that it is not a good look that official Rust projects are not willing to dog food the official linter. So we will be bringing this up with the broader Dev-Tools team. It may be something that is best hashed out in person, so we may rezerve time at the Rust All Hands for this discussion.

@Eh2406 Done!

Thank you for working on this!
@bors r+

:pushpin: Commit<PHONE_NUMBER>3594eb75091d65f778be85331434e2 has been approved by Eh2406

:hourglass: Testing commit<PHONE_NUMBER>3594eb75091d65f778be85331434e2 with merge 3738e1db45242e4b9341811c50efcdb0eb9b6a40...

:sunny: Test successful - checks-azure
Approved by: Eh2406
Pushing 3738e1db45242e4b9341811c50efcdb0eb9b6a40 to master...


umlauts are displayed wrong

The umlaut characters are wrong.
This is especially seen in the taxonomy.
Perhaps the umlauts are bad in the source files, or the database isn't UTF-8?

duplicate of #30 ?